python定时任务可以看博客:python中APScheduler的使用详解(python3经典编程案例)
Cron 表达式,是应用在 Unix 和类 Unix 操作系统之中,让脚本、任务定时进行周期性重复的执行。Cron 表达式有差丰富的表达能力,能够适应各种时间表达需求。
一. linux定时设置# 格式是:分 时 日 月 星期 要运行的命令 # week (0 - 6) = sun,mon,tue,wed,thu,fri,sat # Example of job definition: # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,...,sat # | | | | | # * * * * * user-name command to be executed # 编辑修改,centOS 可用 vi /etc/crontab,i 进入编辑状态,:q 退出 :wq 保存退出 sudo nano /etc/crontab # 监控日志 cron_log 手动创建 */1 * * * * /bin/date >> /home/cron_log/log_$(date +%Y-%m%d-%H%M) # 生效一下 crontab /etc/crontab # 看到的生效的 crontab -l # 观察执行情况 tail -f /var/log/cron # 查看最近的 crontab 执行情况 tail -f /var/spool/mail/root
示例:
# 每五分钟 0 5 * * * ? # 每天 5 点半 0 30 5 * * ? # 每周五 18:18 0 18 18 ? * FRI * # 每天 8 点到 23 点,每小时 1 1 8-23 * * ? # 周一到周五每天 8 点到 22 点,每三小时 1 1 8-22/3 ? * MON-FRI # 当月 13日 10:30 14:30 17:30 30 10,14,17 13 * * # 每天 6 到 8 点,每 10 分钟 */10 6-8 * * * # At 00:05 on Monday 5 0 * * 1二. mac设置定时任务
sudo launchctl list | grep cron # 如无文件,创建一个 sudo touch /etc/crontab vi /etc/crontab crontab /etc/crontab # 状态操作 sudo /usr/sbin/cron start | restart | stop # 查看已有任务列表 sudo crontab -l # 编辑任务 sudo crontab -e # 保存并退款 esc,wq!保存,目测即可生效 # 删除 crontab 文件 sudo crontab -r # 不执行(如:python)可能要增加 cron 的 Full Disk Access 权限 # System Preferences > Security & Privacy > Privacy > Full Disk Access: # command+shift+G GOTO: /usr/sbin/cron, 选择 cron # 可检查是否文件权限问题 cd /Users/gai/documents/Dev/bin/ chmod +x auto_run.sh
crontab文件格式
分 时 日 月 星期 要运行的命令 * 第1列分钟0~59 * 第2列小时0~23(0表示子夜) * 第3列日1~31 * 第4列月1~12 * 第5列星期0~7(0和7表示星期天) * 第6列要运行的命令
注意:Windows 设置定时任务
不支持,可以使用 我的电脑 - 右键‘管理’ - 任务计划程序 进行操作。



