咱们能够经过一些设置。来让电脑定时提醒咱们该作什么事了。或者咱们提早设置好,告诉电脑你几点作什么几点作什么,这种咱们就叫它定时任务。而遇到一些须要执行的事情或任务。咱们也能够经过命令来告诉电脑一会临时把这个工做给作一下.html
在咱们LINUX中,咱们能够经过crontab和at这两个东西来实现这些功能的spa
计划任务的做用:是作一些周期性的任务,在生产中的主要用来按期备份数据htm
计划任务的安排方式分两种:blog
一种是定时性的,也就是例行。就是每隔必定的周期就要重复来作这个事情.crontab
一种是突发性的,就是此次作完了这个事,就没有下一次了,临时决定,只执行一次的任务.rem
at和crontab这两个命令:it
at:它是一个能够处理仅执行一次就结束的指令class
crontab:它是会把你指定的工做或任务,好比:脚本等,按照你设定的周期一直循环执行下去。test
语法: # at 时间软件
1.下载at 软件 yum -y install at
2. 启动atd 服务 systemctl start std
3.设置任务
at 10:00 #若是是上午时间,后面加上am,好比9:20am
at> touch /tmp/test1 #输入你要执行的命令
at> <EOT> #按ctrl+d保存
job 1 at Fri Mar 1 10:00:00 2019
4.查看计划任务
at -l #查看计划任务
Fri Mar 1 10:00:00 2019 a root
atq #查看计划任务
Fri Mar 1 10:00:00 2019 a root
5.删除计划任务 atm
atrm 1 #删除计划任务加上编号
at计划任务特殊写法
at 20:00 2018-10-1 在某天
at now +10min 在 10分钟后执行
at 17:00 tomorrow 明天下午5点执行
at 6:00 pm +3 days 在3天之后的下午6点执行
语法:#crontab -u -e
经常使用选项:
-l:list,列出指定用户的计划任务列表
-e:edit,编辑指定用户的计划任务列表
-u:user,指定的用户名,若是不指定,则表示当前用户
-r:remove,删除指定用户的计划任务列表
crontab -e 编辑时的语法:
0或者7都是表示星期天,另外在这个时间的表达式中,还有些特殊符号,意思以下:
四个符号:
*:表示取值范围中的每个数字
-:作连续区间表达式的,要想表示1~7,则能够写成:1-7
/:表示每多少个,例如:想每10分钟一次,则能够在分的位置写:*/10
,:表示多个取值,好比想在1点,2点6点执行,则能够在时的位置写:1,2,6
例:
天天凌晨2点1分:1 2 * * *
每个月一、十、22日的4 : 45:45 4 1,10,22 * *
每个月1到10日的4 : 45:45 4 1-10 * *
每隔两天的上午8点到11点的第3和第15分钟:3,15 8-11 */2 * *
注:在计划任务中,默认的最小单位就是分,不能再小了;全部用户的计划任务,都会在/var/spool/cron/下产生对应的文件.