![Crontab은 내가 지정한 로그 파일로 출력하는 대신 실행될 때마다 홈 폴더에 새 파일을 생성합니다.](https://linux55.com/image/118435/Crontab%EC%9D%80%20%EB%82%B4%EA%B0%80%20%EC%A7%80%EC%A0%95%ED%95%9C%20%EB%A1%9C%EA%B7%B8%20%ED%8C%8C%EC%9D%BC%EB%A1%9C%20%EC%B6%9C%EB%A0%A5%ED%95%98%EB%8A%94%20%EB%8C%80%EC%8B%A0%20%EC%8B%A4%ED%96%89%EB%90%A0%20%EB%95%8C%EB%A7%88%EB%8B%A4%20%ED%99%88%20%ED%8F%B4%EB%8D%94%EC%97%90%20%EC%83%88%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EC%83%9D%EC%84%B1%ED%95%A9%EB%8B%88%EB%8B%A4..png)
CentOS 6을 실행 중이고 USER1이라는 사용자에 대해 crontab -e를 사용하여 다음 crontab을 설정했습니다.
* * * * * /usr/bin/wget -q http://localhost/blah1/parse.php >> /home/USER1/Dropbox/www/blah1/crontab.log 2>&1
*/9 * * * * /usr/bin/wget -q http://localhost/blah2/autocheck.php >> /home/USER1/Dropbox/www/blah2/crontab.log 2>&1
PHP 파일은 예정대로 실행되지만 실행될 때마다 /home/USER1/ 폴더에 새 파일이 생성되므로 확인할 때마다 수천 개의 새 파일이 생성됩니다.
parse.php
parse.php.1
...
parse.php.9999
autocheck.php
autocheck.php.1
...
autocheck.php.9999
이들 각각에는 실행 결과가 포함됩니다. 출력 및 오류를 수신하도록 특별히 설정한 두 로그 파일이 모두 비어 있습니다.
내가 무엇을 잘못하고 있으며 원하는 위치에 출력하려면 어떻게 해야 합니까?
답변1
이에 대해서는 매뉴얼에서 논의됩니다 wget(1)
.
When running Wget without -N, -nc, -r, or -p, downloading the same
file in the same directory will result in the original copy of file
being preserved and the second copy being named file.1.
...
When running Wget with -r or -p, but without -N, -nd, or -nc, re-
downloading a file will result in the new copy simply overwriting
the old.
다음 접근 방식이 효과가 있을 수 있지만 타임스탬프와 로컬 및 원격 서버가 시간에 대해 설정한 내용을 확인하고 싶은 모든 작업을 수행할 수 있습니다(어디에나 NTP가 있습니다, 그렇죠?).
wget -q -N http://... >> log
또는 타임스탬프가 문제인 경우 -O
파일 이름을 clobber로 설정해야 하는 옵션을 살펴보세요.