主要总结Linux crontab和at两种定时任务调度 任务调度概述 任务调度 是指系统在某个时间执行特定的命令或程序,任务调度主要有两种,第一种是系统工作,需要周而复始的执行,比如病
任务调度是指系统在某个时间执行特定的命令或程序,任务调度主要有两种,第一种是系统工作,需要周而复始的执行,比如病毒扫描。第二种是个人用户工作,用户需要在某个特定的事件执行某些程序,比如备份数据库。
在 Linux 中使用 corntab 和 at 进行定时任务的设置
crond定时任务 基本语法//编辑crontab定时任务
crontab -e
//查看当前crontab定时任务
crontab -l
//删除当前用户所有的crontab任务
crontab -r
定时执行指令任务
//首先执行
crontab -e //进入任务编辑
//然后输入要执行的任务
*/1 * * * * /etc/ > /tmp/list.txt
五个占位符的说明
关于特殊符号说明
- 首先使用vim编辑器写一个脚本文件,如下
vim /home/my.sh
//写入如下简单示例指令
*/1 * * * * date >> /tmp/mydate.txt
示例给出的是一个简单的指令,我们也可以写更复杂的shell脚本或Java程序
2. 然后需要给当前用户增加my.sh的执行权限
chmod u+x /home/my.sh
- 最后向crontab中写入执行shell的指令
crontab -e
*/1 * * * * /home/my.sh
at定时任务
at命令是一次性定时计划任务,at的守护进程atd会以后台模式运行,检查作业队列来允许,默认情况下atd守护进程每60秒检查作业队列,有作业时,会检查作业运行时间,如果与当前时间匹配就会运行次作业。
注意:at命令在使用时,一定要保证atd进程的启动,可以使用指令 ps-ef | grep atd 来检测atd是否在运行。
at命令格式at [选项] [时间]
输入两次 Ctrl+D 来结束at任务的输入
- 使用hh:mm指定
- 采用12小时制+AM/PM 指定
- 使用hh:mm 年-月-日指定
- 相对计时,比如now + 5 hours(minutes/days/weeks)
学习总结来源于韩顺平老师一周学会Linux