您的位置:首页 > 运维架构 > Linux

linux任务计划、周期性任务执行

2017-02-28 16:14 337 查看
                                                                                          linux任务计划、周期性任务执行

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

   周期性运行某任务:crontab

  执行结果会通过邮件发给用户

   查看电子邮件服务是否开启

    ~]# netstat -tnlpprotocol

    ~]# ss -tnl      

  本地电子邮件服务

   smtp:simple mail transmission protocol

   pop3:post office protocol

  lmap4:Internet mail access 

  mail命令

  mail-send and receive intenet mail

  MUA:mail user agent  用户收发邮件的工具程序

 mailx     username 

 邮件正文的生成:(1交互式输入:单独成行可以表示正文结束:Ctrl

+d提交亦可

(2)通过输入重定向;

(3)通过管道

at命令

  at[option]...time

   time:hh:mm

  noon,midnight....

 at的作业有队列,用单个字母表示,某人都用a队列

常用选项:

  -l:表示查看作业队列,相当于atq

 -f:/path/from/somefile/:从指定文件中读取作业任务,而不再交互式输入

 -d:删除指定的作业,相当于atrm;

 -c:查看指定作业的具体内容

 -q:指明队列

  注意:作业执行结果是以邮件发送给提交作业的用户;

batch命令:

 batch会让系统自行选择在系统资源较空闲的时间去执行指定的任务

周期性任务计划:cron

     服务程序:

    cronle:主程序包,提供了crond守护进程及相关辅助工具;

   确定crond守护进程(daemon)处于运行状态

 centos7:

   systemctil  status crond.service    

 centos6:

    service crond status

向crond提交作业的方式不同于at。他需要使用专用的配置文件,此文件有固定格式,不建议使用文本编辑器直接编辑此文件,要使用crontab命令

  从容任务分为两类:

  系统cron任务:主要用于实现系统自身维护;

  手动编辑/etc/crontab文件

  用户cron任务:

      命令:crontab命令

  系统cron的配置格式:

         

SHELL=/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin

MAILTO=root

HOME=/

# For details see man 4 crontabs

# 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

    注意:

(1)每一行定义一个周期性任务

      *  *  *  *  *:定义周期性时间

     user-name:运行任务的用户身份

    command to be executed:任务

  (2)此处的环境变量不同于用户登陆后获得的环境,因此命令建议使用绝对路径,或者自定义path环境变量;

   (3)执行结果邮件发给mailto指定的用户

 用户cron的配置格式:/var/spool/cron/username

     

注意:

  (1)每一行定义一个cron任务,共6个字段;

  (2)此处的环境变量不同于用户登陆后获得的环境,因此命令建议使用绝对路径,或者自定义path环境变量;

   (3)执行结果邮件发给当前用户

时间表示法:

(1)特定值:

   给定时间点有效取值范围内的指:

      注意:day of week和day of month 一般不同时使用

 (2)*

   给定时间点上有效取值范围内的所有值:表“每..”

   (3)离散取值

   在时间点上使用逗号分割的多个值

   (4)连续取值

 在时间点上使用-连接开头和结束

    (5)在指定时间点上,定义步长
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: