Linux 计划任务

计划任务主要是作一些周期性的任务,目前最主要的用途是按期备份数据。mysql

#分类web

##一次性调度执行 atsql

Schedule one-time tasks with at.
语法格式:at 时间点svg

例如:
[root@BJcoud_computing_hp_hao ~]# at now +2min 2分钟以后
[root@BJcoud_computing_hp_hao ~]# at teatime tomorrow 下午茶 16:00
[root@BJcoud_computing_hp_hao ~]# at 5pm august 4 2020 2020年8月4日下午5点
[root@BJcoud_computing_hp_hao ~]# at 13:00 2020-12-12 2020年12月12日 13:00操作系统

###咱们以at now +2min为例3d

####设置一个定时建立用户的任务[root@localhost ~]# at now +2min
at> useradd wwww at> CTRL+D (输入完毕,提交任务)
在这里插入图片描述xml

####查询计划 atq
在这里插入图片描述blog

##循环调度执行
cron的概念和crontab是不可分割的。
crontab是一个命令,常见于Unix和Linux的操做系统之中
用于设置周期性被执行的指令。
该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供以后读取和执行。进程

####查看crond 进程状态crontab

使用命令 systemctl status crond.serice 或者命令ps aux |grep crond

###如下我使用的是ps aux |grep crond这个命令
在这里插入图片描述

####切换计划任务存储位置
使用命令 cd /var/spool/cron/
在这里插入图片描述
####管理方式
建立计划
crontab -e Edit jobs for the current user
查询计划
crontab -l List the jobs for the current user
管理员能够使用 -u username, 去管理其余用户的计划任务
删除计划
crontab -r Remove all jobs for the current users.

建立计划任务格式 * * * * * command
第一个星号表明分
第二个星号表明时
第三个星号表明日
第四个星号表明月
第五个星号表明周
command 命令
注意:每一个星号中间都要有空格

案例以下

*/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 * * * * /mysql_back.sh 每小时的0分执行
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月的周五两点整执行
如下是我建立的计划任务
在这里插入图片描述
在这里插入图片描述
输入完后按esc+shift + : 而后输入wq保存退出

查询计划任务
使用命令 crontab -l (管理员能够使用 -u 去管理其余用户的计划任务)
在这里插入图片描述

删除计划任务
在这里插入图片描述 注意:向我这种的提示有新邮件的是已经有计划执行完了