이름에 타임 스탬프가있는 파일로 cron 출력 보내기 0 * * *

램프 설정에 다음과 같은 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

답변