这是 crontab 作业
/usr/local/bin/python2.7 /home/scripts/script.py >> /home/scripts/logs/log.log 2>&1
Run Code Online (Sandbox Code Playgroud)
每次运行作业时如何生成新日志?
每次生成日志文件时,我都会向它添加一个递增的计数器。不知道该怎么做。
我真的必须运行另一个 cron 作业才能做到这一点吗?
您可以使用该date
命令生成唯一的(ish)文件名:
/usr/local/bin/python2.7 /home/scripts/script.py > /home/scripts/logs/"`date +\%d\%m\%y_\%H\%M\%S`".log 2>&1
Run Code Online (Sandbox Code Playgroud)
编辑:确保转义百分比符号( \%
)。它们在 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
Run Code Online (Sandbox Code Playgroud)
假设您的脚本每秒运行的频率不超过一次(如果您运行的是简单的 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
Run Code Online (Sandbox Code Playgroud)