램프 설정에 다음과 같은 crontab이 있습니다.
0 0 * * * /some/path/to/a/file.php > $HOME/cron.log 2>&1
파일의 출력을 cron.log에 기록합니다 . 그러나 다시 실행될 때 파일에 이전에 있던 내용을 덮어 씁니다.
cron 이 파일 이름에 타임 스탬프가있는 파일 로 출력하도록하려면 어떻게해야합니까?
파일 이름 예는 다음과 같습니다. 2010-02-26-000000-cron.log
타임 스탬프가 어떤 종류 인 한 실제로는 형식에 신경 쓰지 않습니다.
미리 감사드립니다.
답변
시험:
0 0 * * * /some/path/to/a/file.php > $HOME/`date +\%Y\%m\%d\%H\%M\%S`-cron.log 2>&1
원하는 경우 날짜 형식으로 놀아보십시오. 위와 %
같이 그냥 탈출하십시오 \%
.
답변
여기 설명 된 대로 타임 스탬프를 사용하여 모든 것을 동일한 파일에 저장하는 것이 좋습니다 .
없애다
2> & 1
타임 스탬프 스크립트를 통해 로그 파일에 저장하기 전에 스크립트를 실행하십시오 (위 링크에서 설명).
답변
다음과 같이 출력을 로그 파일에 추가 할 수도 있습니다.
0 0 * * * /some/path/to/a/file.php >> $HOME/cron.log 2>&1
답변
다음과 같이 스크립트를 수정했습니다.
`/bin/date +\%Y\%m\%d`.log
답변
이 문제를 해결했습니다. date 명령 앞에 날짜 경로 (/ bin / date)를 추가하십시오.
답변
@daily /some/path/to/a/file.php 2>&1 > $HOME/$(date +\%Y\%m\%d\%H\%M\%S)-cron.log