date >> /home/mycal.txt
cal >> /home/mycal.txt
按 ESC 保存并退出。 但是我们发现root没有这个脚本的执行权限。
我们需要修改脚本的权限,使得当前用户root可以执行该脚本。
[root@xq100 home]# chmod u+x my.sh
接下来我们需要动态执行脚本。
[root@xq100 tmp]# crontab -e
只需保存并退出即可。 我们来看看效果:
案例3:每天凌晨2点将mysql数据库备份到文件。 (提示:备份数据库的命令为 -u root -p 密码 数据库名 > /home/文件名)
第一步:-e
步骤2:0 2 * * * -u root -proot > /home/db.bak
还有其他几个任务调度指令,我们来看看:
-r:终止任务调度; -l:列出当前任务计划; crond【重启任务调度】.4. at指令实现任务调度
1.at命令的作用
文哥先给大家解释一下at命令的含义和作用:
at 命令是任务计划的一次性计划执行。 at 的守护线程 atd 以后台模式运行,并检查要运行的作业队列。 默认情况下,atd 守护线程每 60 秒检查一次作业队列。 当有作业时,它会检查作业的运行时间。 如果时间与当前时间匹配,则运行作业。 at命令是一个一次性定制的定时任务。 执行完任务后,将不再执行。 使用at命令时,请务必确保atd进程已启动。 可以使用相关指令查看(ps -ef | grep atd)。
下面我们用一张图来说明at任务调度机制:
时间定义:
格式
意义
例子
时:分
将于今天 HH:MM 执行。 如果当天的时间已过,则将于明天 HH:MM 执行。
当日4:00(若超时则为明天4:00):4:00
英语粗暴时间单身
(午夜,00:00),中午(中午,12:00),(下午茶时间,16:00)(明天)
,中午,
英文月份名称 A 日期 B [年份 C]
于 C 年 B 月 A 执行
2018年1月15日执行: 15 2018
日期时间戳格式
绝对计时时间+日期时间:HH:MM 日期:或 MM/DD/YY 或 MM.DD.YY
执行日期:2018年1月15日:或 01/15/18 或 01.15.18
现在+数量单位
以小时、天或周为单位的相对时间
5天后此刻执行:现在+5天
2.AT任务调度案例
常用选项
语法格式:
at [选项] [时间] at > 命令(输入 Ctrl + D 两次)
定义:
第一行:输入at命令后,按回车键输入下一行命令。
第二行:开头的at>不需要输入,是系统自动添加的。
命令输入完成后:Ctrl+D 结束命令输入,需要输入两次。
两天后下午6点执行ll命令
使用atq命令查看系统中是否有工作任务执行
[root@xq100 home]# atq
1 Wed Aug 31 17:00:00 2022 a root
2 Wed Aug 31 18:00:00 2022 a root
明天17点,输出时间会在文件中指定,如/home/.log
[root@xq100 home]# at 5pm tomorrow
at> date > /home/date100.log
job 4 at Tue Aug 30 17:00:00 2022
2分钟后,将时间输出到指定文件,如/home/.log
[root@xq100 home]# at now + 2 minutes
at> date > /home/date200.log
job 5 at Mon Aug 29 23:24:00 2022
使用atq查看队列任务:
2分钟后,我们再次查看队列任务:
我们发现5号任务没有了,因为5号任务被执行了。 所以它被从队列中删除了。 这就是为什么使用at命令来执行定时任务,并且任务只执行一次!
删除已设置的任务
[root@xq100 home]# atq
1 Wed Aug 31 17:00:00 2022 a root
2 Wed Aug 31 18:00:00 2022 a root
4 Tue Aug 30 17:00:00 2022 a root
[root@xq100 home]# atrm 1 # 删除1号任务
[root@xq100 home]# atq
2 Wed Aug 31 18:00:00 2022 a root
4 Tue Aug 30 17:00:00 2022 a root
5. 总结
今天文哥给大家分享了Linux下实现定时任务调度的几个常用说明。 这两个命令在工作中非常实用。 希望通过今天的分享,大家能够熟练的使用这两个命令。 如果面试时被问到Linux任务调度的实现,可以按照文哥这篇文章的解释来回答。
好了,今天关于Linux定时任务调度的事情就跟大家说完了。 如果还有其他问题,欢迎留言讨论!
扫一扫在手机端查看
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。