Linux系统定时任务理解与设置(基础篇)
一. 检查是否安装了crontabs,已安装返回以下,如未安装请安装
rpm -qa | grep crontab
crontabs-1.11-6.20121102git.el7.noarch
二. 安装crontabs服务并设置开机自启:
- yum install crontabs // 安装crontabs
- systemctl enable crond // 设置开机自启
- systemctl start crond // 启动crontabs服务
三. crontab文件格式
* | * | * | * | * |
---|---|---|---|---|
minute | hour | day | month | week |
分 | 时 | 日 | 月 | 周 |
0-59 | 0-23 | 1-31 | 1-12 | 0-7 |
星号(*):代表每的意思,例如month字段如果是星号,则表示每月都执行该命令操作。
逗号(,):表示分隔时段的意思,例如,“1,3,5,7,9”。
中杠(-):表示一个时间范围,例如“2-6”表示“2,3,4,5,6”。
正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。
四. 设置定时任务
- 普通用户(建议使用普通用户设置定时任务)
crontab -e
- 进入命令模式,输入i可进入编辑模式
- 输入:
30 6 * * * reboot
- 上面表示每天6:30重启
- 输入完成后,按Esc,再输入wq保存退出即可(w保存,q退出,加!表示强制,如q!表示强制退出)
- 其他实例:
30 3,12 * * * /home/test.sh
,每月每天凌晨3点30分和中午12点20分执行test.sh脚本
- root用户(系统级配置)
- 输入:
vim /etc/crontab
- 进入命令模式,输入i可进入编辑模式
- 在最后一行添加需要设置的定时任务
- 如:
0 9 * * * test /home/test.sh
- 表示每天9点,test用户执行/home下的test.sh脚本
- 输入完成后,按Esc,再输入wq保存退出即可
- 输入:
- 查看/删除定时任务
- 输入:
crontab -l
列出当前用户定时任务 - 输入:
crontab -r
删除当前用户定时任务
- 输入: