1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > linux设备负责执行计划任务 Linux计划任务详解 很详细 每一行命令都有相对应的白话

linux设备负责执行计划任务 Linux计划任务详解 很详细 每一行命令都有相对应的白话

时间:2021-08-30 05:51:41

相关推荐

linux设备负责执行计划任务 Linux计划任务详解 很详细 每一行命令都有相对应的白话

计划任务

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

计划任务主要分为一次性调度执行at和循环调度执行cron,下面我就围绕着at和cron来讲解。

一次性调度执行at

at一次性调度的语法格式是:at timespec

timespec示例:一:at now +1min 一分钟后执行计划任务

二:at 16:00tomorrow 明天下午16点执行

三:at 10:001/1/ (在的1月1日上午十点执行)

四:at 10:00 AM tomorrow (在明天上午10点执行)

五:at 10:00 +4 days (在四天后的上午十点执行)

at 查询任务的语法是:atq

at 删除任务的语法是:atrm 任务ID

下面是实测环节,设置两个定时创建用户的任务,一个1分钟后创建,一个明天创建,查询任务,验证结果,把明天创建用户的任务删除。

[root@localhost ~]# at now +1 min //at命令在1分钟后创建一个用户qqt

at> useradd qqt //

at> //按Ctrl+d结束

job 4 at Tue Aug 11 01:34:00 //

[root@localhost ~]# at now +30 min //at命令在30分钟后创建一个用户bbt

at> useradd bbt //

at> //

job 5 at Tue Aug 11 02:03:00 //

[root@localhost ~]# atq //查看计划任务列表

4Tue Aug 11 01:34:00 a root //

5Tue Aug 11 02:03:00 a root //

[root@localhost ~]# id qqt //查看qqt用户

uid=1675(qqt) gid=1675(qqt) 组=1675(qqt)

[root@localhost ~]# atq

5Tue Aug 11 02:03:00 a root

[root@localhost ~]# atrm 5 //删除任务号5的计划任务

[root@localhost ~]# atq //查看下任务列表还有没有任务5的计划任务

循环调度执行cron

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

crond程序运行是计划任务执行的根本,因此首先要查看crond状态命令在下面

[root@localhost ~]# systemctl status crond.service

cron管理方式有三种,创建计划,查询计划,删除计划,分别是以下三条命令;注:管理员可以使用 -u username, 去管理其他用户的计划任务;计划任务存储位置在/var/spool/cron/中

[root@localhost ~]# crontab -e //创建计划任务

[root@localhost ~]# crontab -l //查询计划任务

[root@localhost ~]# crontab -r //删除计划任务

cron语法格式是:

| .------------- 分钟(0 - 59)

| | .---------- 小时(0 - 23)

| | | .------- 日(1 - 31)

| | | | .---- 月(1 - 12) OR jan,feb,mar,apr ...

| | | | | 周(0 - 6) (周日=0 or 7)

* * * * * 命令

示例:0 * * * * /mysql_back.sh 每小时的0分执行 0 2 1,4,6 * * /mysql_back.sh每月的1,4,6日的2点整执行

*/5 * * * * /mysql_back.sh 每五分钟执行 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月的周五两点整执行

示例,创建一个每隔一分钟执行创建文件的计划任务

[root@localhost ~]touch 9.sh //创建一个文件9.sh

[root@localhost ~]echo "/usr/bin/touch /root/`date +%F-%H-%M-%S`.txt">9.sh

//向9.sh中写入程序,/usr/bin/touch 这是一个创建文件命令,您也可以换成其他命令;/root/ 这是创建的文件存放的位置,存放在/root/下,您也可以更改;`date +%F-%H-%M-%S`.txt 这是创建文件的名称,%F等价于 %Y-%m-%d即年月日,%H-%M-%S是时分秒,.txt是文件名的一部分

[root@localhost ~]# chmod +x 9.sh //为文件9.sh加上执行权限

[root@localhost ~]# crontab -e //创建任务计划

* * * * * /root/9.sh //在任务计划中写上这段话,每分钟执行一次/root/9.sh这个命令

[root@localhost ~]# crontab -l //查看循环计划任务

* * * * * /root/9.sh

-08-11-02-21-02.txt //这是计划任务自动创建的文件

-08-11-02-22-01.txt

-08-11-02-23-01.txt

[root@localhost ~]# crontab -r //删除计划任务,否则他会一直自动创建文件。

linux设备负责执行计划任务 Linux计划任务详解 很详细 每一行命令都有相对应的白话解释。...

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。