나는 (웹 사이트에서) 같은 이미지를 매회 찍고 싶다. 엑스 결국 시간 경과 영상을 만들 수 있습니다.
내 문제는 다음과 같습니다.
- 이미지를 잡을 일정을 설정하고
- 파일 이름의 일부로 시간 / 날짜와 함께 이미지를 저장합니다.
파이썬과 같은 것을 사용하는 것이 가장 좋을까요?
나는 (웹 사이트에서) 같은 이미지를 매회 찍고 싶다. 엑스 결국 시간 경과 영상을 만들 수 있습니다.
내 문제는 다음과 같습니다.
파이썬과 같은 것을 사용하는 것이 가장 좋을까요?
답변:
예를 들어 아바타를 사용합시다. (에 저장 /opt/download-avatar
)
#!/bin/bash
URL="https://www.gravatar.com/avatar/554f043fa658cba9bbc2ee4c6d4e052d?d=identicon"
timestamp=$(date +%F_%T);
wget "$URL" -O "${timestamp}.png"
참고 : 파일 이름을 신기원에서 초로 저장하는 것이 좋습니다. timestamp=$(date +%s)
만들기 5 분마다 실행하는 cron 작업 (에 저장 /etc/cron.d/timelapse-avatar
)
#!/bin/sh
*/5 * * * * /opt/download-avatar
스크립트를 실행 가능하게 만들기
chmod +x /opt/download-avatar
sudo chmod 755 /etc/cron.d/timelapse-avatar
당신이 사용하고 싶지 않다면 cron
다음 단순히 (에 저장 ~/start-timelapse
)
#!/bin/bash
input="$1"
URL="https://www.gravatar.com/avatar/554f043fa658cba9bbc2ee4c6d4e052d?d=identicon"
if [ -z "$input" ]; then
echo "USAGE: $0 [interval in minutes]"
exit 1
else
interval=$((60*input));
fi
while [ 0 = 0 ]; do
timestamp=$(date +%s)
wget "$URL" -O "${timestamp}.png"
echo "Sleeping for $input minutes"
sleep "$interval"
done;
실행 파일을 만들고 7 분 간격으로 실행
chmod +x ~/start-timelapse
cd ~
./start-timelapse 7
최신 정보:
감사 슬하 크 .
나이젤 , 기본적으로 cron
다음과 같이 실행된다. 뿌리 사용자. 이 질문과 관련이 없지만 기술적으로는 "환경 설정"과 같은 환경 변수없이 비 대화식으로 "특수 사용자"로 실행됩니다. $PATH
,없이 dbus
세션 ID X
세션 ID 등
~/
는 사용자의 홈 디렉토리 (환경 변수 $HOME
). 에 대한 기본적으로 사용자 , 이것은 예를 들어 /home/nigel
이 아니라면 뿌리 , 이것은 /root
그러므로 아마 크론 ~에 저장했습니다. /root/pdm-5min
. 다음을 사용할 수 있습니다.
wget "$URL" -O "/home/nigel/pdm-5min/${timestamp}.png"
하지만 파일은 뿌리 , 그래서 나이젤 자신의 허락 없이는 이동, 삭제, 편집 할 수 없습니다. 뿌리 (또는 sudo
)
따라서 실행을 선택할 수도 있습니다. cron
당신의 사용자로서 나이젤 .
#!/bin/sh
*/5 * * * * nigel /opt/download-avatar
저장하려는 디렉토리가 있는지 확인하십시오. 디렉토리 바로 앞에 추가하고자 할 수 있습니다. wget
선:
mkdir -p /home/nigel/pdm-5min/
마지막으로, 귀하의 "
(인용 부호). 변수가 공백 (공백, 탭 등)을 유지하지만 각 작은 따옴표 또는 큰 따옴표가 일치하는지 확인하십시오. 옵션이 아닙니다.
wget
. 어떤 것을 시도 했습니까? 아니면 어딘가에 갇혀 있었습니까?