웹페이지에 게시된 데이터를 다운로드하고 x초마다 로컬에 저장하도록 crontab을 설정했습니다.
* * * * * sleep 0; wget -O /home/lab/Documents/watchdog.xml 'IP-address'
작동합니다!
실제로 파일을 다른 곳에 저장하고 싶으므로 다음과 같이 해보세요.
* * * * * sleep 0; wget -O /var/cache/watchdog.xml 'IP-address'
이것은 작동하지 않습니다.
대상 파일의 위치를 변경하면 문제가 해결되었으니 권한 문제인 것 같은데요? 권한을 확인/변경하는 방법은 무엇입니까 crontabs
?
답변1
run 을 통해 편집하는 사용자 crontab은 crontab -e
사용자로 실행되므로 사용자의 권한을 사용합니다.
따라서 사용자가 파일을 쓸 수 있도록 만들어야 합니다. sudo chown "$USER" /var/cache/watchdog.xml
파일이 이미 존재하는 경우 이 작업을 수행할 수 있습니다. (그렇지 않으면 sudo touch /var/cache/watchdog.xml
빈 파일이 생성됩니다.) 상황에 따라 가장 적합한 다른 방법(예: 그룹을 변경하여 그룹 쓰기 가능으로 설정 또는 ACL 사용)이 있습니다.
또는 모든 사용자로 실행할 수 있는 시스템 crontab을 사용할 수 있습니다( /etc/crontab
텍스트 편집기로 편집하거나 시스템에 파일이 있는 경우 파일을 생성하는 것이 좋습니다). /etc/cron.d
시스템 crontab은 명령을 실행하는 사용자라는 추가 필드를 추가합니다. 요일 필드와 명령 필드 사이에 위치합니다.