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

[经验分享] Linux上的任务计划

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-9-9 08:53:10 | 显示全部楼层 |阅读模式
linux任务计划
任务计划:在未来的时间点一次性执行某个任务:at,batch

周期性执行某个入伍:crontab  


1.1电子邮件服务
    smtp: simple mail transmission protocol 简单的邮件传输协议
     邮件保存出:/var/spool/mail/USERNAME

    pop3: post office protocol  邮局协议的第三个版本(离线协议的标准)
     imap4: internet mail access protocol。

1.2 mail 命令
    mail:进入交互式收发邮件接口;

    发送邮件的三种方式 ctrl +d 提交邮件

    1: mail -s test root@localhost 发送一份邮件标题为test的邮件给root用户

     mail root@localhost 可一直接输入标题和内容并发送root用户。


    2:echo "你好” | mail -s test root@localhost  发送一份邮件标题为test 邮件内容为“你好” 发送给root用户

    3:mail -s test root@localhost <file 发送一份邮件标题为test ,邮件内容为file的内容发送给root用户。

第一种
wKiom1Xu9nfjxSqeAADvuLUjqwE685.jpg

wKiom1Xu9uTDGiN3AADabZtKy6w495.jpg

第二种
wKioL1Xu-ZCQWOd3AAD8Wpl8BBo959.jpg

第三种
wKiom1Xu-MKxqHFvAALqNhx8Tbs861.jpg



1.3 at 命令
    承载着未来时间运行的某作业;支持使用作业队列,默认为a队列

         ctrl+d 提交任务
         at [option] ...TIME
            常用选项:

            -q QUEUE :at 作业队列。

            -f /PATH/FROM/SOMEFILE:从指定文件中读取要运行的作业;
            -l:查看作业队列中的等运行查看作业列表;相当于使用atq命令。
            -c AT_JOB_NUM:查看待运行作业的内容;
            -d:删除指定作业;相当于atrm  

        TIME :


         (1)绝对时间 HH:MM 例如MMDDYY(月,日,年),MM/DD/YY,DD.MM.YY ,YY_MM_DD

         (2)相对时间 now+#UNIT ,UNIT:单位时间是minute(分钟),hour(时),day(天),week(周)
        (3)模糊时间: midnight,noon,teatime

1.4 batch:由系统自行选择在资源较为空闲时运行指定的任务

1.5   crontab:周期性任务计划 。
    守护进程crond ,一旦关闭,那么crontab的周期任务将不能生效。
    系统cron 任务:没有默认运行用户身份,所需要的额外运行指定者。/etc/crontab.

    vim 命令

    # Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be     executed
    一共7个字段 前五个字段分别表达式 分,时,天,月,星期。

     user-name:以哪个用户的身份运行任务。
    command to be executed :要运行的任务。


1.6 用户cron任务:

    由某个用户所提交,默认就以提交者的身份运行,所以无需额外指定运行者。

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  *  command to be executed

    5个时间点:
        分钟:有效取值范围0-59;
        小时:0-23
        日:1-31
        月:1-12
        周几:0-7

    注意:几月几号与周几,不建议同时使用;
        时间表示法
        *:对应时间点有效取值范围内的每个时间点;

        -:一个特定连续时间范围,3-7

        ,:一个离散时间点。

        /#:有效时间范围内的每多少时间;用于指定频率。

            例如:5 /3 * * *  echo "hello" 表示每隔三个小时的5分钟输出一次hello


    1.7crontab 命令

        crontab [-u user] [-l | -r |-e]


            -u: user :指定目标用户的cron任务。仅root拥有管理其他用户cron任务的权限;默认管理自己的;
             -l:list列出任务。
            -r:remove 移除任务。

            -e:edit ,编辑,打开当前shell会话的默认编辑器来编辑cron任务表。

补充性的工具:anacron:

    注意:
            (1) 如果不想接收任务执行结果的通知邮件:
                    COMMAND > /dev/null
            COMMAND &> /dev/null
        (2) 对于crontab文件来讲,%有特殊功用;如果命令中会出现%, 要记得转义,或者用单引号对其引用;

        (3) crontab的PATH变量与用户的变量不完全相同,所以,建议在cron中的任务要使用绝对路径      /root/bin/a.sh。


home work

    1、总结Linux系统上的任务计划(at、crontab)的详细使用方法;

2、每周一到周六的凌晨3点20分,运行cp命令对/etc/目录进行归档另存,存储位置为/backups/etc-YYYY-MM-DD;


    20 3 * * 1-6 /bin/tar -zcvf  /backups/etc-$(date +%Y-%m-%d) /etc/


3、每周日凌晨2点30分,运行cp命令对/etc/fstab文件进行备份,存储位置为/backup/fstab-YYYY-MM-DD-hh-mm-ss;


    30 2 * * 0 /bin/cp /etc/fstab /backup/fstab-$(date +%Y--%m-%d-%H-%M-%S)


4、每天晚上12点,取得/proc/meminfo文件中所有以S或M开头的行,追加至/statistics/meminfo.txt文件中,且每天的消息之前,要加上类似===============分隔线;





   


运维网声明 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.iyunv.com/thread-111248-1-1.html 上篇帖子: CentOS启动流程 下篇帖子: /etc/rc.d/init.d和/etc/init.d 联系区别 Linux 计划
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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