Linux中的计划任务(at和cron)

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.

你可能感兴趣的:(Linux)