我通过crontab -e以下代码设置了我的 cron 作业:
* */1 * * * python /var/www/your_script >/dev/null 2>&1
Run Code Online (Sandbox Code Playgroud)
我没有添加.py扩展名,因为它使 cron 作业无效。
但是,在通过 记录后grep CRON /var/log/syslog,脚本每一分钟执行一次,而不是每一小时执行一次。
Mar 1 07:40:01 my-instance CRON[4471]: (me) CMD (python /var/www/your_script >/dev/null 2>&1)
Mar 1 07:41:01 my-instance CRON[4474]: (me) CMD (python /var/www/your_script >/dev/null 2>&1)
Mar 1 07:42:01 my-instance CRON[4477]: (me) CMD (python /var/www/your_script >/dev/null 2>&1)
Run Code Online (Sandbox Code Playgroud)
为什么我的脚本开始每隔一分钟运行一次,而不是每隔一小时运行一次?我的环境是 Ubuntu 16.04。
如果您想为每小时设置一次 cronjob,您可以通过以下任何一种方式进行:
你可以运行:
0 * * * * /path/to/script
Run Code Online (Sandbox Code Playgroud)
其中读
在 0 分钟、每小时、每月的每一天、每月、每周的每一天。
或者
@hourly /path/to/script
Run Code Online (Sandbox Code Playgroud)
或者
0 */1 * * * /path/to/script
Run Code Online (Sandbox Code Playgroud)
*可以使用星号 ( ) 以便使用时间段的每个实例(每小时、每个工作日、每个月等)。