at
**简介:**作用: 计划任务主要是做一些周期性的任务,
目前最主要的用途是定期备份数据。(一次性调度执行)
语法格式:
at <TIMESPEC>
at 示例:
now +*min // 几分钟后
teatime tomorrow (teatime is 16:00) //下午茶时间
noon +*days //第几天中午
6pm february 26 2020 // 2020年2月26日下午6点
4:00 2019-02-26 //某年某月某时
设置一个定时查看messages的任务
root@localhost ~]# at now +1min
at> ls /var/log/messages
at> <EOT> // CTRL+D输入完毕,提交任务
job 1 at Wed Feb 26 21:40:00 2020
查询任务
[root@localhost ~]# atq
您在 /var/spool/mail/root 中有邮件
验证结果
[root@localhost ~]# ls /var/log/messages
/var/log/messages
您在 /var/spool/mail/root 中有新邮件
循环调度执行cron
简介:cron的概念和crontab是不可分割的,是用于设置周期性被执行的命令,标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。
语法格式
* * * * * //分 时 日 月 周
示例;
0 * * * * /mysql_back.sh //每个整点执行
14 2 14 2 * /mysql_back.sh //2月14日2点14分执行
0 2 * * 5 /mysql_back.sh //每周五2点执行
0 2 2 6 5 /mysql_back.sh //6月2日的2点整执行、6月的周五2点整执行
查看进程状态
root@qianfeng ~]# systemctl status crond.service
Unknown operation 'staus'.
[root@localhost ~]# ps aux |grep crond
root 1239 0.0 0.0 126320 1756 ? Ss 19:14 0:00 /usr/sbin/crond -n
//crond程序运行是计划任务执行的根本。
计划存储位置
[root@localhost ~]# ls /var/spool/cron/
创建计划
[root@localhost ~]#crontab -e Edit jobs for the current user
查询计划
[root@localhost ~]#crontab -l List the jobs for the current user
//管理员可以用 -u usemame去管理其他用户的计划任务
删除计划
[root@localhost ~]#crontab -r Remove all jobs for the current users.