linux 学习总结之任务计划

linux 上的任务计划

     任务计划:在未来的时间点一次性执行某任务:at ,batch

                       周期性执行某任务:crontab

      电子邮件服务

                smtp:simple mail transmission protocol

                   /var/spool/mail/username

      mail命令

           mail:进入交互式收发邮件借口                 

           mail -s ‘subject’username@hostname

           mail -s   'subject'  username@hostname < /path/from/somefile

           command |   mail -s   'subject'  username@hostname 

   wKiom1XtItrS3-9AAAIUwWmcT-8587.jpg

wKiom1XtI1PjbUphAAJxCKqL5LY932.jpg


at命令

        承载未来时间运行的某作业

        支持使用默认作业队列

        ctrl + d  退出

        at 【option】.....time

             time 

                 1:绝对时间

                     hh:mm           mmdd【cc】yy        

                 2:相对时间

                      now+ minute /hour/day/week

                  3:模糊时间

                       midnight    noon         teatime

          常用选项

                 -q :at作业队列

                  -f: /path/fuom/somefile    从指定文件中读取需要执行的文件

                   -c :查看运行作业内容

                  -d:删除指定作业

     batch:有系统自己选择在空间的时间运行指定任务

    crontab:周期性任务计划

         守护进程:crond

  

   周期性任务有两类:

       (1)系统cron任务,没有默认运行用户身份,所以需要额外指定运行者

                  /etc/crontab

# 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

# |  |  |  |  |

# *  *  *  *  * user-name command to be executed

          7个字段:

               1-5:指定时间点

                 6:已那个用户的身份运行任务

                 7:要运行的任务

             5个时间点:

                   分钟:有效取值范围0-59

                    小时:0-23

                    日: 1-31

                     月:1-12

                    周:0-7

            注意:几月几日和周几不能同时使用

                  时间表示方法:

                                 *:对应时间点有效取值范围内的任意时间点

                                  -:连续的时间范围

                                ,:离散的时间范围

                                 /#:指定频率

                                 

  (2)用户cron任务:由某个用户所提交,默认已提交者的身份运行,无需额外指定

            /var/spool/cron/username

              vim命令:不建议

              crontab:建议

 

   crontab命令选项:

            -u user:不是管理自己的任务,而是指定目标用户的cron任务,仅适用root用户

            -l         :列出所有的任务

              -r:移除所有的任务

                -e:编辑cron任务表

  注意:(1)如果不想执行任何结果的通知邮件

                   COMMAND > /dev/null

                   COMMAND &> /DEV/NULL

              (2) 对于crontab文件来讲,%有特殊的功用,如果出现需要使用转义符

             (3)crontab 适用决定路径


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

wKiom1XtUKnQH2vQAADOboyFcT4098.jpg

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

wKioL1XtVNSQ9XsvAACNKhy0vmI714.jpg

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


wKioL1XtWXvwbph6AACGnh3yb_I941.jpg

你可能感兴趣的:(inux)