linux计划任务

计划任务服务程序

无需人为介入的情况下,在指定的时间段自动启用或停止某些服务或命令,从而实现运维的自动化

分类
  • 一次性计划任务:今晚11点30分开启网站服务
at 时间    #即可设置任务,默认采用的是交互式方法
at -l      #查看已设置好但还未执行的一次性计划任务
atrm 任务序号    #删除计划任务

echo "systemctl restart httpd" | at 23:00
atrm 3
  • 周期性计划任务:每周一的凌晨3点打包备份

linux计划任务_第1张图片

crontab -e    #编辑计划任务
crontab -l    #查看当前计划任务
crontab -r    #删除某条计划任务
crontab  -u    #管理员的身份登录系统,编辑他人的计划任务。

使用crond设置任务的参数字段说明
    字段    说明
    分钟    取值为0~59的整数
    小时    取值为0~23的任意整数
    日期    取值为1~31的任意整数
    月份    取值为1~12的任意整数
    星期    取值为0~7的任意整数,其中0与7均为星期日
    命令    要执行的命令或程序脚本
    
PS1:除了用逗号(,)来分别表示多个时间段,例如“8,9,12”表示8月、9月和12月。还可以用减号(-)来表示一段连续的时间周期(例如字段“日”的取值为“12-15”,则表示每月的12~15日)。以及用除号(/)表示执行任务的间隔时间(例如“*/2”表示每隔2分钟执行一次任务)。

PS2:如果在crond服务中需要同时包含多条计划任务的命令语句,应每行仅写一条。例如再添加一条计划任务,它的功能是每周一至周五的凌晨1点钟自动清空/tmp目录内的所有文件。尤其需要注意的是,在crond服务的计划任务参数中,所有命令一定要用绝对路径的方式来写,如果不知道绝对路径,请用whereis命令进行查询,
    rm: /usr/bin/rm /usr/share/man/man1/rm.1.gz /usr/share/man/man1p/rm.1p.gz
    
PS3:在crond服务的配置参数中,可以像Shell脚本那样以#号开头写上注释信息,这样在日后回顾这段命令代码时可以快速了解其功能、需求以及编写人员等重要信息。

PS4:计划任务中的“分”字段必须有数值,绝对不能为空或是*号,而“日”和“星期”字段不能同时使用,否则就会发生冲突。

你可能感兴趣的:(linux,定时任务)