1、 一次性调度执行at schedule one-time tasks with at
语法格式 :at <TIMESPEC>
TIMESPEC 格式
now+5min
teatime tomorrow (teatime is 16:00)
noon+4days 第四天中午
spm august 2029
4:00 2019-04-27
例子:
at now+1min
at>ls
at><EOT> 按ctrl +D 键结束
2、循环调度执行cron schedule recurring jobs wiht cron
cron和crontab是不可分割的
crontab是一个命令,常见于linux和unix系统中 用于周期性被执行的指令,该命令从标准输入设备读取指令,并存放在cronbab文件中,以供之后读取和执行。
2.1 查看cron进程运行的状态
systemctl status crond.service
ps aux | grep crond
crond程序运行是计划任务执行的根本
计划任务的存储位置 /var/spool/cron/
创建计划:crontab -e Edit jobs for the crrent user
查询计划:crontab -l List the jobs for the current user
管理员可以使用 -u username, 去管理其他用户的计划任务
删除计划:crontab -r Remove all jobs for the current user
任务格式
* * * * * command 一共五颗星,分别代表五个含义
第一颗* :minute (0-59)
第二颗* :hour (0-23)
第三颗* :day of moth (1-31)
第四颗* :month (1-12) 或者 jan feb...
第五颗* :day of week(0-6) (sunday = 0 or 7) 或者sun, mon , tue
分 时 日 月周 命令或执行脚本
例子:
5 1 15 3 * /mysql_back.sh 3月15号1点5分执行 /mysql_back.sh 脚本
*/5 * *** /mysql_back.sh 每隔五分钟执行一次/mysql_back.sh脚本
编辑完之后 :wq保存, 已经保存了一个任务
0 2 1,4,6 * * /mysql_back.sh 1号、4号、6号的2点都会执行/mysql_back.sh脚本
0 2 5-9 * * * /mysql_back.sh 每月的5日至9日每天的2点执行 /mysql_back.sh脚本