crontab 只能精确到分钟
- 日志: /var/log/cron.log
- 命令:
/etc/init.d/cron
- status
- stop
- start
参数
-e
: 编辑-l
: 查看-r
: 删除-u
: 查看指定用户
配置
1 2 3 4 5 command
- 1 分,0-59
- 2 时,0-23
- 3 日,1-31
- 4 月,1-12
- 5 周,0-6,0 表示周日
除了数字之外,可用 * 表示任意时间,另外还有三个符号:
- /: 表示间隔,比如
*/3
每隔三分钟 - ,: 表示 A 和 B,比如
1, 3, 4
每周一周三和周四 - -: 表示 A 到 B,比如
1-4
,每周一到周四
日志
Ubuntu 默认未开启 cron 日志
vim /etc/rsyslog.d/50-default.conf
# 取消 #cron.* 行注释,然后重启 rsyslog 服务
systemctl restart rsyslog
示例
每隔五分钟执行
*/5 * * * * /usr/bin/python <path>/<file.py>
问题
执行 Python 文件时,即使已经使用完整路径形式,如果仍然无法执行,可尝试先 cd 到对应 Python 文件目录下再执行。
如果代码中有使用 selenium,通过 crontab 执行命令时,需要添加 path 变量:
echo $PATH
# 然后把内容拷贝到 crontab -e 中