Linux系统下使用crontab命令定时执行任务

基本命令
- [ crontab -e ] - 打开vi编译器,输入要执行的命令
- [ crontab -l ] - 查看所有已执行的任务
- [ crontab -r ] - 删除所有执行任务
查询任务执行日志
[ cat /var/spool/mail/{enter your username} ]
crontab -e 用法
minute hour day month week command 顺序:分 时 日 月 周
其中:
- [ minute ] - 表示分钟,可以是从0到59之间的任何整数。
- [ hour ] - 表示小时,可以是从0到23之间的任何整数。
- [ day ] - 表示日期,可以是从1到31之间的任何整数。
- [ month ] - 表示月份,可以是从1到12之间的任何整数。
- [ week ] - 表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。
- [ command ] - 要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。
在以上各个字段中,还可以使用以下特殊字符:
- [ 星号(*) ] - 代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
- [ 逗号(,) ] - 可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
- [ 中杠(-) ] - 可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
- [ 正斜线(/) ] - 可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。
使用示例
1.打开Terminal窗口输入crontab -e进入vi编辑框
2.写入执行命令
- 每分钟执行一次command
* * * * * command
- 每小时的第3和第15分钟执行
3,15 * * * * command
- 在上午的8点到11点的第3和第15分钟执行
3,15 8-11 * * * command
- 在每天的23点30分执行备份文件脚本,并同时输出执行错误日志到log文件
30 23 * * * python /home/*/*/test.py >> /home/*/*/test.log 2>&1
- 每个星期一的上午8点15分执行
15 8 * * 1 command
3.写入完毕后退出保存即可
4.输入crontab -l查看已执行的任务,确认是否执行成功
执行python脚本例子:
每周一的早上8点执行(执行python的命令必须是绝对路径,包括import的包和路径使用都要用绝对路径)
0 8 * * 1 /usr/local/bin/python /home/evanliu/Desktop/test.py