定时任务常用crontab来定期执行程序。
crontab 基本语法
crontab [-u user] -l # 列出用户cron任务
crontab [-u user] -e # 编辑用户cron任务
crontab [-u user] -r # 移除用户cron任务
cron 表达式
# 分 时 日 月 周 执行命令
minute hour day month week command
# 示例图
* * * * * command to be executed
- - - - -
| | | | |
| | | | +----- day of week (0 - 6) (Sunday=0)
| | | +------- month (1 - 12)
| | +--------- day of month (1 - 31)
| +----------- hour (0 - 23)
+------------- min (0 - 59)
- minute:分钟0~59。
- hour:小时0~23。
- day:日1~31。
- month:月份1~12。
- week:星期0~6(0表示星期天)。
- command:执行命令,如 python 1.py 。
除了command上面的各列也可以有如下字符:
*
:表示任何可能有效的数值。,
:可以用逗号隔开指定的值,如1,2,3,4。-
:可以用杠号隔开指定的值,表示一个数值范围,如1-4表示1,2,3,4。/
:可以用正斜线指定时间的间隔频率,如 0-23/2 表示每两小时执行一次。
常见示例
查看python位置
which python
# 每分钟执行一次
* * * * * /Users/guanfawang/opt/anaconda3/bin/python /Users/guanfawang/python_crawer/1.py
# 每2小时执行一次
0 */2 * * * /Users/guanfawang/opt/anaconda3/bin/python /Users/guanfawang/python_crawer/1.py
# 每周一周三,8至18点的0分和30执行
0,30 8-18 * * 1,3 /Users/guanfawang/opt/anaconda3/bin/python /Users/guanfawang/python_crawer/1.py
命令行输入 crontab -e ,再将需要执行的命令填入,和之前vim 操作文件一样,按i
可进行输入,完成后按esc回到命令模式再按:wq
保存退出。如果不确定或者忘记怎么编辑文件,可以前往【Linux】编辑、查看和搜索文件 查阅。
Crontab是一种强大的工具,可以帮助自动化执行重复任务。理解Cron表达式及其语法对于有效使用crontab至关重要。