다음은 crontab 작업입니다.
/usr/local/bin/python2.7 /home/scripts/script.py >> /home/scripts/logs/log.log 2>&1
작업이 실행될 때마다 새 로그를 생성하려면 어떻게 해야 합니까?
로그 파일이 생성될 때마다 로그 파일에 증가하는 카운터를 추가하는 것이 좋습니다. 이 작업을 수행하는 방법을 모릅니다.
그렇게 하려면 실제로 또 다른 크론 작업을 실행해야 합니까?
답변1
date
다음 명령을 사용하여 고유한(ish) 파일 이름을 생성 할 수 있습니다 .
/usr/local/bin/python2.7 /home/scripts/script.py > /home/scripts/logs/"`date +\%d\%m\%y_\%H\%M\%S`".log 2>&1
편집하다:백분율 기호를 피하십시오( \%
). 그들은특별한 의미cron에서는 crontab이 오류를 반환합니다.
이렇게 하면 <date_time>.log
작업이 실행될 때마다 새 로그 파일( 라고 함)이 생성됩니다.
$ date; touch "`date +%d%m%y_%H%M%S`.log"
Tue Sep 25 04:39:25 CEST 2012
$ ls *log
250912_043925.log
스크립트가 1초에 한 번 이상 실행되지 않는다고 가정하면(간단한 crontab을 실행하는 경우에는 실행할 수 없음) 문제가 없을 것입니다.
설명에서 제안한 대로 다른 사용자가 스크립트를 실행하는 경우 로그 파일 이름에 사용자 이름을 추가할 수 있습니다.
/usr/local/bin/python2.7 /home/scripts/script.py > /home/scripts/logs/$(echo -n `whoami`_`date +\%d\%m\%y_\%H\%M\%S`).log 2>&1