linux计划任务

本文详细介绍了Linux系统中的一次性和循环调度任务管理,包括at和cron命令的使用。通过实例演示了如何设置定时任务,如创建用户、执行脚本等。还讲解了cron的计划任务存储位置、管理方式及其语法格式,以及如何通过crontab创建、查询和删除计划任务。文章最后给出了创建每分钟执行一次脚本的计划任务,并展示了执行结果。
摘要由CSDN通过智能技术生成

一.什么计划任务?

概念:就是需要在将来的某个时间点,按照我们的指令执行已经计划好的工作。目前最主要的用途是定期备份数据

分类:一次性调度计划任务 at

            循环调度计划任务   cron

二.一次性调度计划任务at

语法格式at +  时间      ....

时间示例:now +5min              五分钟后

                  teatime tomorrow   明天的下午茶(4:00)时间

                 noon +4days             第四天中午

                  5pm august 3 2029   2029年八月三号下午5点

                 4:00 2027-9-2              某年某月某日某时

实例演示:设置定时创建用户的任务

at>后面写要执行的操作,回车写下一个操作,若果操作写完ctrl +d 提交任务(上面我们执行了一个2分钟后创建用户的操作)

 atq命令:用于查看当前存在的计划任务,一旦计划任务执行,atq就查不出东西了

 

  id jizhe 可以看到当前没有用户jizhe 

 

 2分钟后(说明我们的计划任务执行成功)

三.循环调度执行计划任务cron

crontab命令:是一个命令常见与linux和unix系统中,用于设置被周期性执行的指令

原理:从终端获取指令,存放在/etc/crontab文件中,以备后续读取执行。

查看cron程序的状态:systemctl   status  crond

                                    ps -aux |grep crond

cron程序详解:

1.计划任务存储的位置?(看当前存在的计划任务)

ls  /var/spool/cron/

2.管理方式?

crontab -e                     #:创建计划任务

crontab -e (Edit) for the current user          #基于用户的,当前是root建立的计划任务。

crontab  -l                    #:查询计划任务

crontab -l (List) the jobs for the crruent user
#管理员可以 -u  用户名      指定查看其他用户的计划任务

crontab -r                        #:移除计划任务

crontab -r (Remove) all jobs for the current users

3.语法格式

[root@localhost ~]# crontab -e          #就会进入一个文件,然后在里面编写计划任务
* * * * * command 或者脚本  #这是格式,五个*从前到后一直代表 分(0-59) 时(0-23) 日(1-31) 月(1-12) 周(中间要有一个空格)
5 6 7 5 * 就代表五月七日六点五分执行
5 5 3 * * 就代表每月的三号五时五分执行
5 7 * * * 就表示每天七点五分执行
5 * * * * 每个小时的五分钟都执行
* * * * * 每分钟都执行
*/5 * * * * 每隔五分钟执行一次

 */5 * * * *  /ls/usr/bin  /home           #每隔五分钟执行/usr/bin/ls /home   ,(要写绝对路径)
就会每隔五分钟发一个邮件,里面显示ls的结果内容
例子二: 0 2 1,4,6  * * #每月的一号四号六号的两点零分都执行             (注意*之间用空格分隔 1,4,6 就算一个整体,逗号表示或的意思)
例子三:0 2 5-9 * * 每月的五号到几号的两点零分执行                           # :-表示什么到什么的意思
例子四:0 * * * * 每月每日每小时的零分(就是整点)执行
例子五:0 2 * * *每月每日两点零分执行
例子六:0 2 14 * *每月14号 的两点整执行
例子六:0 2 14 2 * 每年的二月14号的两点整执行一次
注意现在带着周看一些例子
 0 2 * * 5   #就是周五的2点整执行。(如果有周,不写月日,月日就不生效)
0 2  2 6 5 #6月的2号的两点执行,然后六月的每个星期五执行一次(就是取并集),这个不常用,一般都是分 时 日月 或者 分 时 星期的形式
0 2 * 6 5 #就是六月的星期五的两点整执行。
0 2 14 * 7 #每个月的14号两点和星期天的两点执行(一共五次)

4.实例演示:每一分钟都创建文件的计划任务

第一步编写一个脚本文件:vim 1.sh

 给1.sh加上可执行权限

chmod +x 1.sh

第二步:编写计划任务

crontab -e

  #:表示每分钟执行1.sh这个脚本

crontab -l 就可以看到当前的计划任务

 第三步:查看结果ls /root/

 说明:可以看到文件已经创建成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值