Crontab은 내가 지정한 로그 파일로 출력하는 대신 실행될 때마다 홈 폴더에 새 파일을 생성합니다.

Crontab은 내가 지정한 로그 파일로 출력하는 대신 실행될 때마다 홈 폴더에 새 파일을 생성합니다.

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로 설정해야 하는 옵션을 살펴보세요.

관련 정보