介绍
Linux内置了定时任务调度的服务 crontab
。系统默认会自动启动, 同时每分钟检查需要执行的任务。定时任务的最小时间单元是分钟。
安装
# Linux服务默认内置
sudo apt-get install cron
编辑
# 第一次编辑 会提示选择编辑器
crontab -e
查看当前定时任务
crontab -l
删除
# 删除当前用户的所有定时任务
crontab -r
# 部分删除, 通过编辑进行修改
编辑详细说明
— 引用线
时间格式如下:
f1 f2 f3 f4 f5 program
其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行的程序。
当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,其馀类推
当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其馀类推
当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其馀类推
当 f1 为 a, b, c,… 时表示第 a, b, c,… 分钟要执行,f2 为 a, b, c,… 时表示第 a, b, c…个小时要执行,其馀类推
* * * * *
- - - - -
| | | | |
| | | | +----- 星期中星期几 (0 - 7) (星期天 为0)
| | | +---------- 月份 (1 - 12)
| | +--------------- 一个月中的第几天 (1 - 31)
| +-------------------- 小时 (0 - 23)
+------------------------- 分钟 (0 - 59)
使用者也可以将所有的设定先存放在文件中,用 crontab file 的方式来设定执行时间。
— 引用线 结束
https://www.runoob.com/linux/linux-comm-crontab.html
示例:
# 每天早上6点执行以下文件, 并将print输出重定向到log文件中。
# 2>&1表示把标准错误作为标准输出,输入用0表示,标准输出用1表示,标准错误用2标识,通过该命令能够把错误一起输出到log中
0 6 * * * /home/ubuntu/..../myspider.sh >> /home/ubuntu/.../run2.log 2>&1