设为首页 收藏本站
查看: 596|回复: 0

[经验分享] 计划任务和周期任务mail,at,batch,atq, atrm, cron, crontab

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-9-7 09:35:32 | 显示全部楼层 |阅读模式
Linux上的任务计划:           
            任务计划:
                        在未来时间点一次性执行某任务:at,batch
                        周期性执行某任务:crontab
            电子邮件服务:
                        smtp: simple mailtransmission protocol
                                    /var/spool/mail/USERNAME
                        pop3: post officeprotocol
                        imap4: internet mailaccess protocol
                        MUA:mail命令
                        mail命令:
                                    mail: 进入交互式收发邮件接口;
                                    mail -s'SUBJECT' username@hostname
                                    mail -s'SUBJECT' username@hostname < /PATH/FROM/SOMEFILE
                                    COMMAND |mail -s 'SUBJECT' username@hostname
            at  命令:
                        承载未来时间运行的某作业:
                        支持使用作业队列:
                                    默认为a队列;
                        Ctrl+d
                        at [option]... TIME
                        TIME:
                                    (1) 绝对时间
                                    HH:MM,
                                    MMDD[CC]YY,MM/DD/[CC]YY, DD.MM.[CC]YY or [CC]YY-MM-DD
                                                tomorrow
                                    (2) 相对时间
                                                now+#UNIT
                                                            minute,hour, day, week
                                    (3) 模糊时间
                                                midnight
                                                noon
                                                teatime
                        常用选项:
                                    -q QUEUE:at作业队列;
                                    -f/PATH/FROM/SOMEFILE:从指定的文件中读取要运行的作业;
                                    -l: 查看作业队列中的等运行作业列表;相当于使用atq命令;
                                    -cAT_JOB_NUM: 查看待运行作业的内容;
                                    -d: 删除指定作业;相当于atrm
            batch:
                        由系统自行选择在资源较为空闲时运行指定的任务;
            crontab:周期性任务计划
                        守护进程:crond
                        周期性任务有两类:
                                    (1) 系统cron任务;没有默认运行用户身份,所以需要额外指定运行者;
                                                /etc/crontab
                                                vim命令
                                                            #Example of job definition:
                                                            #.---------------- minute (0 - 59)
                                                            #|  .------------- hour (0 - 23)
                                                            # |  | .---------- day of month (1 - 31)
                                                            #|  | |  .------- month (1 - 12) ORjan,feb,mar,apr ...
                                                            #|  | |  |  .---- day of week (0 - 6) (Sunday=0 or 7) ORsun,mon,tue,wed,thu,fri,sat
                                                            #|  | |  |  |
                                                            #*  * *  *  * user-name command to be executed   
                                                            7个字段:
                                                                        前5个字段:时间点
                                                                        user-name:以哪个用户的身份运行任务
                                                                        commandto be executed: 要运行任务                                 
                                    (2) 用户cron任务:由某个用户所提交,默认就以提交者的身份运行,所以无需额外指定运行者;
                                                /var/spool/cron/USERNAME
                                                vim命令;不建议
                                                crontab命令:建议
                                                            #Example of job definition:
                                                            #.---------------- minute (0 - 59)
                                                            #|  .------------- hour (0 - 23)
                                                            #|  | .---------- day of month (1 - 31)
                                                            #|  | |  .------- month (1 - 12) ORjan,feb,mar,apr ...
                                                            #|  | |  |  .---- day of week (0 - 6) (Sunday=0 or 7) ORsun,mon,tue,wed,thu,fri,sat
                                                            #|  | |  |  |
                                                            #*  * *  *  * command to be executed         
                                                            5个时间点:
                                                                        分钟:有效取值范围0-59;
                                                                        小时:0-23
                                                                        日:1-31
                                                                        月:1-12
                                                                        周几:0-7
                                                                        注意:几月几号与周几,不建议同时使用;
                                                                        例如:
                                                                                    6* * * *
                                                                        时间表示法:
                                                                                     *:对应时间点有效取值范围内的每个时间点;
                                                                                    -:一个特定连续时间范围,3-7
                                                                                    ,:一个离散的时间点,3,5,7
                                                                                    /#:有效时间范围内的每多少时间;用于指定频率;
                                                                                                1-30/4,*/4
                                                                        5*/3 * * * /bin/echo "howdy"
                                                                        57 * * 1-5 /bin/echo "howdy"
                                                            crontab命令:
                                                                        crontab[-u user] [-l | -r | -e]
                                                                                    -uuser: 不是管理自己的cron任务,而是指定的目标用户的cron任务;仅root拥有管理其它用户的cron任务的权限;默认管理自己的;
                                                                                    -l:list,列出任务;
                                                                                    -r:remove, 移除所有任务;
                                                                                    -e:edit,编辑,打开一当前shell会话的默认编辑器来编辑cron任务表;
                                                思考:
                                                            1、如果想实现每8分钟运行一次某任务?
                                                            2、如果想实现每10秒钟运行一次某任务?
                                    补充性的工具:anacron:
                       注意:
                       (1)如果不想接收任务执行结果的通知邮件:
                                                            COMMAND> /dev/null
                                                            COMMAND&> /dev/null
                      (2)对于crontab文件来讲,%有特殊功用;如果命令中会出现%,要记得转义,或者用单引号对其引用;
                      (3)crontab的PATH变量与用户的变量不完全相同,所以,建议在cron中的任务要使用绝对路径
                                                            /root/bin/a.sh


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-110432-1-1.html 上篇帖子: uname 是Linux命令用途显示当前操作系统名称 下篇帖子: Ubuntu从入门到精通视频教程免费下载 任务mail 计划
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表