linux周期性任务陈设 at及cron的简短总结

三回性任务安排:at,batch

周期性义务布置:cron

at:轻巧用法

at TIME

at>

交由任务:^c+d

作业结果:以邮件情势发送系统上的当前顾客

 

邮件收发:

劳务运营与否状态查看命令:

netstat -tnl |grep “:25”

默认收发邮件仅在本机上的客商间举办,且只好通过回环接口上的地址举办。

# mail

q:退出

N:查看第N封邮件

 

发邮件给钦定客商(系统内):

# mail USERNAME[@HOSTNAME]

-s “SUBJECT”         主题

echo | mail              也得以动用管道

TIME的格式

正确时间:

HH:MM

模糊时间:

now+#UNIT

noon , midnight,teatime, tomorrow

作业队列查看:

at -l, atq

删除尚未运维的课业:

at -d [JOB_NUM], at rm

也足以
把at要实施的有着职责放置于文件中,让at读取此文件作为要运转的天职(适用量大的作业)

at -f /PATH/TO/SOMEFILE TIME

batch:无须指按期期,会自动在现在的某部系统能源较清闲的时光点运营

 

周期性职责安顿:cron

看重于后台服务,查看运市场价格况

service crond status          CentOS
{5,6}版本查看命令,如有以下输出结果则可使用cron

crond (pid 1680) is running

cron职分有两类:

系统cron: /etc/crontab

客户cron: 定义在/var/spool/cron/目录中与客户名同名的公文中

每行定义叁个单身的任务:

查看/etc/crontab后有以下消息

[[email protected]
~]# cat /etc/crontab

SHELL=/bin/bash

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

MAILTO=root

# 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

由以下3局地构成:

时间点(周期性职分)

user-name:客商地方

command:要运维的天职

潜心:建议在概念cron职务时,所用到的通令使用相对路线,或自定贰个具有完整路线的意况变量。

 

日子表示法:

1.各样时刻为都应有使用期可用的实惠取值范围内的值,*用来表示使用期全体有效取值,

  1. */#:在相应的光阴位有效取值上每#  个时间单位一遍

只顾:定义分钟时的取值范围需能被60整除

  1. 连日时间点: –

4.离散岁月点:,

职务运行后的结果:邮件发送给职责相关客商:

舍弃邮件通告:输出重定向

COMMAND > /dev/null

COMMAND &> /dev/null

COMMAND >  /dev/null 2>&1

/dev/null:软件模拟出的设备, bit bucket,数据黑洞

客户cron职责的概念:

crontab命令:

-l:列出已定义的有所职分

-e:张开编辑器

-r:remove,移除全体任务

-u user:
不是管理自个儿的cron职务,而是钦定的指标客商的cron职务;仅root具有管理别的顾客的cron职务的权杖;暗许管理本人的

 

留神:crontab文件内的%需转义,或许用单引号对其引述。

 

作业::

每周四到周末的黎明(英文名:lí míng)3点20分,运营cp命令对/etc/目录进行归档另存,存款和储蓄地方为/backups/etc-YYYY-MM-DD

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

 

[[email protected]
~]# mkdir -p /backups/etc

[[email protected]
~]# crontab e

[[email protected]
etc]# crontab -l

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

 

周周天中午2点30分,运维cp命令对/etc/fstab文件实行备份,存款和储蓄地点为/backup/fstab-YYYY-MM-DD-hh-mm-ss

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

 

[[email protected]
etc]# mkdir -p /backups/fstab

[[email protected]
etc]# crontab e

[[email protected]
etc]# crontab l

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

 

天天上午12点,获得/proc/meminfo文件中具有以S或M伊始的行,追加至/statistics/meminfo.txt文件中,且每一日的新闻以前,要抬高类似===============分隔线

6 0 * * *   /bin/egrep /proc/meminfo “^[S,M].*” >>
/statistics/meminfo.txt && echo ========================== >>
/statistics/meminfo.txt

 

[[email protected]
etc]# mkdir -p /backups/fstab

[[email protected]
statistics]# crontab e

[[email protected]
statistics]# crontab -l

6 0 * * *   /bin/egrep /proc/meminfo “^[S,M].*” >>
/statistics/meminfo.txt && echo ========================== >>
/statistics/meminfo.txt

 

at及cron的简短计算一回性任务陈设:at,batch 周期性任务安排:cron at:轻松用法 at TIME at
提交职务:^c+d 作业结果:以邮件…

Linux任务安顿 (at,crontab)

Linux中的职务安顿,定时试行某个职务或周期性的进行有些任务

职务陈设:

在今后岁月点贰次性实践某职责:at, batch

周期性实行某职责: crontab

推行完职务后,liunx会通过邮件来告当前客商

电子邮件服务:smtp: simple mail transmission protocol

linux中的路线:/var/spool/mail/USE卡宴NAME

查看邮件命令:yum install mailx 安装邮件服务

威澳门尼斯人36366com 1

mail命令:

mail: 步入交互式收发邮件接口;

mail -s ‘SUBJECT’
[email protected]

mail -s ‘SUBJECT’
[email protected]
< /PATH/FROM/SOMEFILE

COMMAND | mail -s ‘SUBJECT’
[email protected]

at命令:

威澳门尼斯人36366com 2

承载今后时光运作的某作业:

援助使用作业队列:

默认为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命令;

-c AT_JOB_NUM: 查对待运维作业的内容;

-d: 删除钦命作业;相当于atrm

batch:

由系统自动选择在财富相比较空闲时运维内定的职分;

crontab:周期性职责布置

医生和医护人员进程:crond

周期性职分有两类:

(1) 系统cron任务;未有暗许运维顾客地方,所以须求特别钦定运转者;

/etc/crontab

vim命令

# Example of job definition:

# .—————- minute (0 – 59)

# |  .————- hour (0 – 23)

#威澳门尼斯人36366com, |  |  .———- 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个字段:

前5个字段:时间点

user-name: 以哪个客商的地位运转职务

command to 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) 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

潜心:几月几号与周几,不建议还要选取;

例如:

          6* * * *

      时间表示法:

      *:对应时间点有效取值范围内的每一种时间点;

      -:贰个特定一而再时间范围, 3-7

      ,:贰个离散的时间点, 3,5,7

      /#:有效时间范围内的每多少时间;用于钦命频率;

                                                        1-30/4,*/4

                                          5 */3* * * /bin/echo
“howdy”

                                          5 7 ** 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) 假诺不想接收任务试行结果的布告邮件:

                                  COMMAND >/dev/null

                                  COMMAND&> /dev/null

      (2) 对于crontab文件来说,%有独具匠心成效;要是命令中会出现%,
要记得转义,大概用单引号对其引用;

      (3)
crontab的PATH变量与客户的变量不千篇一律,所以,提议在cron中的任务要接纳相对路线

                                  /root/bin/a.sh

练习:

1.周周四到周末的黎明(Liu Wei)3点20分,运转cp命令对/etc/目录进行归档另存,存款和储蓄地点为/backups/etc-YYYY-MM-DD;

~]# crontab -l

20 3 * * 1-6 /bin/cp /etc -rpf/backups/etc-‘file\%Y-\%M-\%D’

2.每礼拜日凌晨2点30分,运营cp命令对/etc/fstab文件实行备份,存款和储蓄地方为/backup/fstab-YYYY-MM-DD-hh-mm-ss

~]#crontab -l

30 2 * * 7 /bin/cp /etc/fstab
/backup/fstab-‘file\%Y-\%M-\%D-\%H-\%M-\%S’

3.每一天下午12点,取得/proc/meminfo文件中全数以S或M早先的行,追加至/statistics/meminfo.txt文件中,且每日的音信在此之前,要加上类似===============分隔线;

~]#crontab -l

00 0 * * *    echo “===============”>> /proc/meminfo | egrep
“^S|^M” /proc/meminfo >>/statistics/meminfo.txt

Linux中央银行使crontab成立安插职分

Linux中用crontab例行工作安插

Linux crontab不实行难题排查

Ubuntu使用crontab定时职分

Linux布置职务(at batch crontab anacron)

正文永恒更新链接地址:

(at,crontab)
Linux中的任务布置,定期执行有个别职务或周期性的实施有些职责 职责布署:
在今后时刻点壹回性试行某职责:at,…

# Example of job definition:

Linux职务布署 (at,crontab)
http://www.linuxidc.com/Linux/2015-09/122970.htm

Ctrl+d:提交职务

难题

minute, hour, day, week

     
注意:系统级任务调节首要形成系统的一些敬服操作,顾客级职分调治主要完毕客商自定义的有个别任务,能够将顾客级职分调节放到系统级职务调节来形成(不建议那样做),然则转头却相当。
      cron的职业方式

command to be executed: 要运营职责

2、周周2, 4,
7备份/var/log/messages文件至/logs目录中,文件名形如“messages-yyyymmdd 
0 0 * * 2,4,7 cp -a /var/log/message /log/massage-`date +\%F`

      -:贰个特定接二连三时间范围, 3-7

—每分钟要实施某些程序检查服务的运作
—每一天要对数码进行备份
—每月要对日记进行备份
……
一经您也设有这么的标题,Cron将能够扶持你从繁重的办事中抽身出来。

mail: 步入交互式收发邮件接口;

Linux中用crontab例行工作布置
http://www.linuxidc.com//Linux/2013-06/85441.htm

-l: 查看作业队列中的等运营作业列表;也就是选择atq命令;

4、专门的学业日时间,每10分钟施行一遍磁盘空间检查,一旦发觉其他分区利用率高于百分之七十,就实行wall警报
[root@centos7~/bin]#vim cron.sh
#!/bin/bash
HI=`df | grep “^/dev/sd[a-h]” | tr -s ‘ ‘ ‘%’ | cut -d’%’ -f 5`
if [ $HI -lt 80 ]; then
  wall dangerous
fi
[root@centos7~/bin]#crontab -e
*/10 * * * 1-5 /root/bin/cron.sh

7个字段:

Linux安排任务(at batch crontab anacron)
http://www.linuxidc.com//Linux/2013-03/81584.htm

HH:MM,

  <3>crontab工具的选取 
      书写格式

职务安插:


-f /PATH/FROM/SOMEFILE:从钦赐的文书中读取要运维的课业;

3、每半小时抽出当前系统/proc/meminfo文件中以S或M早先的音信追加至/tmp/meminfo.txt文件中
 0 */2 * * * cat /proc/meminfo | grep “^[SM]” >>
/tmp/meminfo.txt

linux中的路线:/var/spool/mail/USE猎豹CS6NAME

          HH:MM 02:00
            在今日的HH:MM 实行,若该时刻已过,则前些天此时实践任务
          HH:MM YYYY-MM-DD 04:00 2016-09-20
            规定在某年某月的某一天的万分时刻实行该项职责
          HH:MM[am|pm] [Month] [Date]
            04pm March 17
            17:20 tomorrow
          HH:MM[am|pm] + number [minutes|hours|days|weeks]
            now + 5 minutes
            04pm + 3 days
          在某些时间点再加多少个时刻后才开展该项任务

at命令:

Linux中选取crontab创制安排职分
http://www.linuxidc.com//Linux/2013-06/86401.htm

      *:对应时间点有效取值范围内的各类时间点;

1、Cron是什么
   
Cron是安排职责,它保险了有个别程序在一定的岁月内的纯粹实行。要配置其余叁个cron,就不可能不有负责那么些cron的服务,linux常常利用的劳务有atd和crond。
    这里注意:
纵然起步了cron服务,但其并不会监听端口,因为没有要求于外面通讯,所以只是会敞开多少个历程。叫做独立守护进度。不过像httpd那样的独门守护进度,因为要通讯,所以其不论是是客户端,照旧服务器端,都以要打发轫口的。 
2、Cron之at
    单时间点实施某义务,而不循环,正视于atd服务
    <1>配置文件
        /etc/at.aloow
        /etc/at.deny
        配置文件,白名单优先级更加高,分为以下两种意况
        第一种:白名单和黑名单都存在
                只允许白名单中的顾客创设布置职责
        第三种:只设有白名单
                只允许白名单中客户制造布置职责
        第二种:只设有黑名单
                除黑名单以外的顾客都得以创立安插职务
        第多样:黑白名单都官样文章
                除root以外,任何顾客不可能创造安插职责
    <2>施行措施
        交互式 
        输入重定向
        at -f FILE
    <3>时间表示法

TIME:

      分钟设置误用
# 每俩时辰执行一下/etc/echo.sh
* */2 * * * * etc/echo.sh    //错误:那意味每分钟实行叁遍
# 准确的格式
0 */2 * * * * etc/echo.sh

周期性任务有两类:

威澳门尼斯人36366com 3

2.每一周天上午2点30分,运转cp命令对/etc/fstab文件进行备份,存款和储蓄地方为/backup/fstab-YYYY-MM-DD-hh-mm-ss

正文永远更新链接地址:http://www.linuxidc.com/Linux/2016-09/135109.htm

      -l:list,列出任务;


vim命令

      时间域不明确
# 第二个域和第七个域是或涉及
0 0 1-7 1 1  hostname   
//表示六月底先个星期还是7月的每星期三,施行hosrname
                          实际不是青阳的率先个星期的礼拜二

00 0 * * *    echo “===============”>> /proc/meminfo | egrep
“^S|^M” /proc/meminfo >>/statistics/meminfo.txt

火上加油练习:

      (2) 对于crontab文件来说,%有异样功效;假若命令中会出现%,
要记得转义,或许用单引号对其引用;

Ubuntu动用crontab定期职分
http://www.linuxidc.com//Linux/2013-05/84770.htm

前5个字段:时间点

Linux crontab不实行难题排查
http://www.linuxidc.com//Linux/2013-06/85432.htm

mail命令:

1、每一日的2点整和12点整,将/etc目录至/backup目录中,保存的文件名称格式为“etc-yyyy-mm-dd-HH.tar.xz” 
 
0 2,12 * * * tar -Jcf /backup/etc-`date +\%F-\%H`.tar.gz /etc/*

noon

    <4>常见用法
        at -l:列出当前系统中伺机的功课,特别与atq
        at -d:删除钦赐的课业,也便是atrm
        at -f FILE:从钦点的文件中读取职责
        at
-m:任务完成后,发送邮件(例如make、rm等,测量试验任务的完成意况)
        注意: 有标准输出只怕不当输出时,才会发送邮件
3、Cron之crontab
  多时间点循环推行某职分,注重于crond服务
    <1>景况设置
    要完结cron,要设置主程序包cronie、cronie-anacron和crantabs
    cronie:主程序包,提供crond进度服务。提供crontab工具。
   
cronie-anacron:帮助程序包,用于移动道具中这些因为各样原由此一点办法也未有平常实践的系统义务。服务器中比比较少用到。生成/etc/anacrontab,定义未平常施行的系统职分。
    crontabs:提供系统健康的系统职分。生成/etc/crontab系统级布署任务。
    <2>Cron分为客商等第和安排职责和系统级其他安顿职务
     
顾客级其余布置职务一贯使用crontab定义(客户也得以一贯编辑/etc/crontab,只然而修改MAILTO参数)
      系统等第的的安顿职务在/etc/cron.d中
[root@CentOS7/etc/cron.d]#ls 
  //在此目录下直接编辑文件也足以
0hourly  raid-check  sysstat   
[root@centos7/etc/cron.d]#   
[root@centos7/etc/cron.d]#vim 0hourly    //0hourly是每小时职责
# Run the hourly jobs
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
01 * * * * root run-parts /etc/cron.hourly   
//生效的文件在/etc/cron.hourly
[root@centos7/etc/cron.hourly]#ls
0anacron  0yum-hourly.cron   
//0anacron有限支撑了/etc/anacrontab陈设任务的实施
                              //0yum-hourly.cron同理
[root@centos7/etc/cron.hourly]#vim /etc/anacrontab   
//真正定义anacrontab的文本,包含
                                                       
/etc/cron.daily、/etc/cron.monthly
                                                       
/etc/cron.weekly等文件中

                                  COMMAND >/dev/null

      常见用法
        crontab -e:定义当前客商的安排职分,
                      保存在/var/spool/cron中
          crontab -e -u USEKoleos: 修改钦定客商的安插职责
          crontab -u USE奥迪Q3 -l:查看钦定客户的陈设职责,
                      唯有root能够查阅
          crontab -r:移除全部的安顿职务
     
注意:crontab是兼备suid权限,所以当root修改了普通用户的安顿职分之后,客商是能够再度修改的,不过是力所不比直接改变root的安顿职分的。
    <4>时间表示法
      (1)特定值:
          给按期间点有效取值范围内的值
      (2)*
          给定时期点上有效取值范围内的全部值
          表示“每…”
      (3)离散取值:
          #,#,#
      (4)一连取值:-
          #-#
      (5)在钦点时期限定上,定义步长:
          /#: #即为步长   
  <5>配置文件
      /etc/cron.deny:定义了独具不允许利用crantab的客商列表
      /etc/cron.allow:定义了具有允许使用crantab的顾客列表
      /var/spool/cron/USE奥迪Q5:顾客定义的陈设职务
      /var/spool/mail/USEV8 Vantage:顾客的邮件 
  <5>Cron常见错误
      景况变量不点名
[root@centos7~]#vim echo.sh
#!/bin/bash
wall everyone..
[root@centos7~]#vim /etc/crontab 
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin    //注意:此处的情况变量
MAILTO=root

[root@centos7~]#crontab -e
* * * * * echo.sh    //错误,处境变量中不设有

# |  |  .———- day of month (1 – 31)

威澳门尼斯人36366com 4

# |  |  |  |  .—- day of week (0 – 6) (Sunday=0 or 7) OR
sun,mon,tue,wed,thu,fri,sat

威澳门尼斯人36366com 5

-d: 删除钦点作业;相当于atrm

留意:在crontab中,精度最高只可以到分钟等第,即使要运用秒品级的话,可在剧本中动用sleep
也可以
*/1 * * * * sleep 30 date >> /tmp/f1 &> /dev/null

Ubuntu使用crontab定时职分
http://www.linuxidc.com//Linux/2013-05/84770.htm

      命令书写格式错误
0 * * * * tar -Jcf /backup/etc-`date +%F-%H`.tar.xz /etc/   
//格式误,%要转义
# 正确的格式
0 */5 * * * tar -Jcf /backup/etc-`date +\%F-\%H`.tar.xz /etc/
 
    date +%w:显示星期几

# |  |  |  .——- month (1 – 12) OR jan,feb,mar,apr …

Author

发表评论

电子邮件地址不会被公开。 必填项已用*标注