![18c91b73f20596ecc034cd819cbdc281.png](https://i-blog.csdnimg.cn/blog_migrate/00a47ef25f9788689b726a10e6d01676.jpeg)
一、简介
计划任务作用:计划任务主要是做一些周期性的任务。目前最主要的用途是定期备份数据。
分类:
1、一次性调度执行 at
2、循环调度执行 cron
二、一次性调度at
语法格式:
at <TIMESPEC>
<TIMESPEC>示例
now +5min 5分钟后
teatime tomorrow (teatime is 16:00) 下午茶时间
noon +4 days 第四天中午
5pm august 3 2029 2020年8月3日下午5点
4:00 2019-11-27 某年某月某日某时
示例:
1、设置一个定时创建用户的任务
at now +2min
![bde6639240d57619e4bfc40c5f9c2415.png](https://i-blog.csdnimg.cn/blog_migrate/4ccc29510f064dbeecd126361bf960d1.jpeg)
ps :有的时候,输入at回车发现不能成功运行。这时候就需要使用 systemctl start atd 这个命令刷新一下,就能成功运行了~~
![8fb36b8216bf73821783f452c61039dc.png](https://i-blog.csdnimg.cn/blog_migrate/3517d67e9e9c5c7de69df379df12a399.jpeg)
2、查询任务
atq
![279e513e3f956310459ba44f640c3709.png](https://i-blog.csdnimg.cn/blog_migrate/69b93da20d966e2a60fe4227924a30a2.png)
3、验证结果
id u1u1
![c684b364843b17ac590c790e274324e9.png](https://i-blog.csdnimg.cn/blog_migrate/5cd7922679dd24dc17144bfaac803630.png)
三、循环调度执行cron
1、简介
cron的概念和crontab是不可分割的,crontab是一个命令,常见于Unix和Linux的操作系统之中,用于设置周期性被执行的指令,该命令从标准输入设备读取指令,并将其存放于“/etc/crontab”文件中,以供之后读取和执行。
2、查看进程状态
syetemctl status crond.service
![6cd21088623a724b890efe0f8cf69a36.png](https://i-blog.csdnimg.cn/blog_migrate/4a767639cb0576f82a9d5dc761b43636.jpeg)
systemctl start crond (启动cron程序,d为进程的含义)
systemctl stop crond (停止程序)
![e9314cca51c3f7dbe17c0871514329fb.png](https://i-blog.csdnimg.cn/blog_migrate/26d22a0ab270a824951425fd8fb9f4a2.jpeg)
systemctl disable crond (开机禁用)
![994f7673efcfc2a9a4072a827bf8af1f.png](https://i-blog.csdnimg.cn/blog_migrate/1bd3d8e9968eb5aee3f72d50ab56be30.jpeg)
systemctl enable crond (开机启用)
![8909b21c275b03828e879e709a4ec471.png](https://i-blog.csdnimg.cn/blog_migrate/79706606a059b00a9d8f4dead9740c1e.jpeg)
ps aux |grep cron (查看cron的进程信息)
![e15c66f810b5770cdd247e68757b0fc8.png](https://i-blog.csdnimg.cn/blog_migrate/41464757d43532efb2324a1f32817cb2.png)
3、cron示例
管理方式
① 创建计划
crontab -e
![16642fca847541270b51c13292875788.png](https://i-blog.csdnimg.cn/blog_migrate/3ec71698dd231ee882f0d21c38f36d05.jpeg)
② 查询计划
crontab -l
![f96453ad4756fb6c791aa9c8b1524eb1.png](https://i-blog.csdnimg.cn/blog_migrate/0e87a6a91454a4eab10624cf0aa9a079.jpeg)
③ 删除计划
crontab -r
![773aec20e870518c71a6138da52741c1.png](https://i-blog.csdnimg.cn/blog_migrate/f63e039d9e2b363fae824af45554995e.png)
![969dc6e0f635bddc25c2436bc842543d.png](https://i-blog.csdnimg.cn/blog_migrate/09661150a3e2c78ab60937691c665941.png)
2、计划任务存储位置
ls /var/spool/cron/
4、语法格式 job format
# .---------------- 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,tue,wed,thu,fri,sat
# | | | | |
# * * * * * command
说明:分 时 日 月 周 命令或脚本程序 (六个部分全用空格隔开)
示例:
0 * * * * /mysql_back.sh 每小时的0分执行
*/5 * * * * /mysql_back.sh 每五分钟执行
0 2 1,4,6 * * /mysql_back.sh 每月的1,4,6日的2点整执行
0 2 5-9 * * /mysql_back.sh 每月5日到9日的两点整执行
* * * * * /mysql_back.sh 每分钟执行
0 2 * * * /mysql_back.sh 每天两点整执行
0 2 14 * * /mysql_back.sh 每月14号的2点整执行
0 2 14 2 * /mysql_back.sh 2月14日2点整执行
0 2 * * 5 /mysql_back.sh 不写月日,仅周生效 每月的周五,两点执行
0 2 2 6 5 /mysql_back.sh 书写月和日,月或日,月日周均生效 6月2日的两点整执行 6月的周五两点整执行
00 02 * * * ls 每天2:00整
00 02 1 * * ls 每月1号2:00整
00 02 14 2 * ls 每年2月14号2:00整
00 02 * * 7 ls 每周日2:00整
00 02 * 6 5 ls 每年6月的周五2:00整 (特殊)
00 02 14 * 7 ls 每月14号2:00整 每周日2:00整 这两个时间都执行
00 02 14 2 7 ls 每年2月14号2:00整 2月每周日2:00整 这两个时间都执行
大家对云计算感兴趣可以去我的csdn博客观看更多关于云计算的内容呦~
csdn地址:yiweii的博客_CSDN博客-rsyslog日志管理领域博主