任务调度:指系统在某个时间执行的特定的命令或程序
一、crontab(反复执行)
安装:apt-get install cron
查询cron可用的命令:service cron
启动:service cron start
重启:service cron restart
停止:service cron stop
检查状态:service cron status
crontab [选项]
-e:编辑
-l:查询
-r:清空
快速入门 |
1.设置系统任务调度文件 直接编辑/etc/crontab 文件,即 vi /etc/crontab,添加相应的任务 2.设置个人(用户)调度任务:crontab -e 所有用户定义的crontab 文件都被保存在 /var/spool/cron/crontabs 目录中。其文件名与用户名一致 3.输入任务到调度文件:*/1 * * * * ls -l /etc/ > /tmp/to.txt 该文件必须具有x(执行)的user权限 |
二、at(一次性执行)
安装:apt-get install at
查看版本:at -V
查询atd可用的命令:service atd
启动:service atd start
重启:service atd restart
停止:service atd stop
检查状态:service atd status
at的守护进程atd会以后台模式运行,检查作业队列来运行
默认情况下,atd守护进程每60秒检查作业队列,有作业时,会检查作业运行时间,如果时间与当前时间匹配,那么运行此作业
at命令是一次性定时计划任务,执行完一个任务后就不再执行此任务了
在使用at命令的时候,一定要保证atd进程的启动
ps -ef | grep atd
at [选项] [时间]
Ctrl + D 结束at命令的输入
-m 当指定的任务被完成后,将给用户发送邮件,即使没有标准输出
-l atq的别名
-d atrm的别名
-v 显示任务将被执行的时间
-c 打印任务的内容到标准输出
-V 显示版本信息
-q <队列> 使用指定的队列
-f <文件> 从指定文件读入任务而不是从标准输入读入
-t <时间参数> 以时间参数的形式提交要运行的任务
atq 列出用户的计划任务,如果是超级用户将列出所有用户的任务,结果的输出格式为:作业号、日期、小时、队列和用户名。
atrm 根据job number删除at任务。
batch 在系统负荷允许的情况下执行at任务,就是在系统空闲的情况下才执行at任务。
三、参考
B站 韩顺平一周学Linux