马哥Linux学习笔记12-4Linux任务计划

  • Linux任务计划、周期性任务执行
    未来的某时间点执行一次任务:at,batch
    周期性运行某任务:cron
    电子邮件服务:
    smtp:simple mail transmission protocol,用于传送邮件
    pop3:Post office Protocol
    imap4:Internet Mail Access Protocol
    mailx - send and receive Internet mail
    MUA:Mail User Agent
    mailx [-s ‘SUBJECT’] username[@hostname]
    邮件正文的生成:1直接给出,Ctrl+d
    2输入重定向
    3通过管道:echo -e “How are you?\nHow old are you?” | mail
    mailx

  • at命令
    at TIME
    TIME:
    HH:MM [YYYY-mm-dd]
    noon,midnight,teatime
    tomorrow
    now+#{minutes,hours,days,OR weeks}
    常用选项:
    -q queue
    -l 列出指定队列中等待运行的作业,相当于atq
    -d删除指定的作业,相当于atrm
    -c 查看具体作业任务
    -f /path/from/somefile:从指定的文件中读取任务
    注意:作业的执行结果以邮件通知给相关用户

  • batch命令:让系统自行选择空闲时间去执行此处指定的任务

  • 周期性任务计划:cron
    相关的程序包:cronie:主程序包,提供了crond守护进程及相关辅助工具
    cronie-anacron:cronie的补充程序,用于监控cronie任务执行状况:如cronie中的任务在过去该运行的时间点未能正常运行,则anacron会随后启动一次此任务
    crontabs:包含centos提供系统维护任务
    确保crond守护处于运行状态:
    centos 7:systemctl status crond
    …running
    centos 6 :service crond status
    计划要周期性执行的任务提交给crond,由其来实现到点运行
    系统cron任务:系统维护作业
    /etc/crontab
    用户cron任务:crontab命令
    时间表示法:
    1特定值:给定时间点有效取值范围内的值
    2* 给定时间点上有效取值范围内的所有值,表示“每…”
    3离散取值:#,#,#
    4连续取值-
    #-#
    5在指定时间范围上,定义步长/#:#即为步长

  • 用户cron:
    crontab命令定义,每个用户都有专用的cron任务文件:/var/spool/cron/USERNAME
    crontab命令:crontab [-u user] [-l | -r | -e ] [-i]
    -l 列出所有任务
    -e 编辑任务
    -r 移除所有任务
    -i 同-r一同使用,以交互模式让用户有选择性地移除指定任务
    -u user:仅root可运行,代为指定用户管理cron任务
    注意:运行结果以邮件通知给相关用户
    1command > /dev/null
    2command &> /dev/null
    对于cron任务来讲,%有特殊用途,如果在命令中要使用%,则需要转义,不过,如果把%放置于单引号中,也可以不用转义

猜你喜欢

转载自blog.csdn.net/weixin_43024834/article/details/87949261