系统安插任务

大部分系统管理工作都以通过定期自动执行某个脚本来已毕的,那么怎么着定期执行某个脚本,从而达成运维的自动化,那即将借助Linux的cron效用了.

安顿任务分为一回性安顿职务和周期性布署职分.

  • 几次性布置职责
    • 每晚11点30分打开网站服务.
  • 周期性安插职务
    • 每礼拜一的黎明(英文名:lí míng)3点30分把/var/www/html目录打包备份为backup.tar.gz

顾名思义,一回性陈设任务只举行一次,一般用于满意临时的行事须求,可以拔取at指令完成.

一经你的Linux没有此命令可以采纳yum install at -y来安装.

[root@qdlinux ~]# at 23:30
at> systemctl restart httpd
at> <EOT>
at > 此处同时按下Ctrl + D组合键来结束编写计划任务

//查看已经设置好但还未执行的计划任务
[root@qdlinux ~]# at -l
1   Fri Aug 17 23:30:00 2018 a root

//可以使用atrm任务序号删除
[root@qdlinux ~]# atrm 1
[root@qdlinux ~]# at -l

若是期待Linux可以周期性地、有规律地实施某些具体的职分,那么可以选取crond服务再合适不过了.

若是您的Linux没有此命令可以使用yum install cronie -y来安装.

选项 解释
crontab -e 创建、编辑计划任务
crontab -l 查看当前的计划任务
crontab -r 删除某条计划任务
crontab -u 编辑其他人的计划任务

crond系统安顿任务,Linux中的布署职分。在意:此命令使用编辑的是/var/spool/cron/username文件.

此命令记念口诀 ==”分、时、日、月、星期 命令”== 请记住!!!

字段 说明
取值0-59的整数
取值0-23的任意整数
取值1-31的任意整数
取值1-12的任意整数
星期 取值为0-7,其中0与7均为星期日
命令 要执行的命令或程序脚本
//每周一、三、五的凌晨3点30分打包/var/www/html目录
[root@qdlinux ~]# crontab -e
crontab: installing new crontab
[root@qdlinux ~]# crontab -l
0 1 * * 1-5 /usr/bin/rm -rf /tmp/*
30 3 * * 1,3,5 /usr/bin/tar -czvf backup.tar.gz /var/www/html

纪念陶冶示例

00 02 * * * ls  //每天的凌晨2点执行ls
00 02 1 * * ls  //每月1号凌晨2点执行ls
00 02 14 2 * ls //每年的2月的14号凌晨2点执行ls
00 02 * * 7 ls  //每周日凌晨2点执行ls
00 02 * 6 5 ls  //每年6月份周5的凌晨2点执行ls
00 02 14 * 7 ls //每月周日或14号凌晨2点执行
00 02 14 2 7 ls //每年2月14号或周日凌晨2点执行
*  02 * * * ls  //每天凌晨2点的每分钟执行
* * 14 2 * ls   //每年2月份14号每分钟执行
* * * * * ls    //每分钟执行
*/5 * * * * ls  //每5分钟执行
00 02 * 1,5,8 * ls //每年1,5,8月的每天凌晨2点执行
00 02 1-8 * * ls //每月的1-8号凌晨2点执行

//这里需要注意的是分字段必须要求数值,不能为空或者*号
//日和星期字段不能同时使用,否则会发生冲突

//每周一到周五凌晨1点清空/tmp目录内的所有文件
[root@qdlinux ~]# whereis rm
rm: /usr/bin/rm /usr/share/man/man1/rm.1.gz
[root@qdlinux ~]# crontab -l
0 1 * * 1-5 /usr/bin/rm -rf /tmp/*

Linux之定时职务,Linux之职务

 

Linux中的安排义务

Linux的布置义务分为两类:

1,一次性执行:

        常用命令:at, batch,依赖于atd服务

2,周期性执行:

        常用命令:crontab,正视于crond服务

四遍性任务履行:

用法:

#at TIME

at> /bin/sync          输入必要实践的一声令下或脚本

at> “Ctrl+d”          输入Cry+d提交义务

TIME:的二种格式

                  #at now+3min                                         
      相对时间

                  #at 11:30                                           
    或是相对时间

                  #at noon, midnight, teatime(4:00pm)      或是模糊时间

                                                                       
                  man at查看其他详细时间表示方法

 at命令选项:

-m:当at工作做到后,尽管没有出口音讯,也会以mail文告用户工作已成功

-l:列出当前正值等待执行的职分队列

    #at -l= #atq   

-d:删除尚未执行的任务

    #at -dJOB_ID = atrm JOB_ID 

-f:指定执行对应目录下的剧本

    #at-f /PATH/TO/AT_SC汉兰达IPT TIME      指定执行对应目录下的脚本

        此处/PATH/TO/AT_SCRIPT称为at脚本

例:at的施用实例

平日在改长途主机ip此前,为防止修改后的新IP不通,导致不能连接,此场景中则足以先实施一个at职责

#at now 10min

at>ifconfig eth0 IP                  ##此IP为近日在运用的不易的IP

先发送此at任务,再去改IP,即使改错,10分钟后也会自动复苏。

与at的例外是,batch可以不须求指定时间,自动选择系统空闲时实施。在陈设执行某些批处理职分的场巳时,大概应用到,使其自个儿评估选取系统空闲时举行。

周期性任务:

周期性职务有两类:

系统类周期性职务:/etc/crontab

用户类周期性职分:/var/spool/cron/USE科雷傲NAME

系统cron的定义:

方法:

1、#vim /etc/crontab            此配置文件中添加安插任务

2、#service crond restart        重启crond服务,使刚添加的布置职分生效

系统cron的布署文件/etc/crontab中7个字段的意义:

#cat/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(第七字段)

用户cron的定义:

方法:

#crontab -e [-u USERNAME]

此命令自动打开编辑器,即可新建义务、修改原有职务、删除原有职务,然后保留即可。此命令编辑文件提供语法检查功能,而经过vim并不会。类似visudo。

保留后的cron文件自动保存在
/var/spool/cron/USE科雷傲NAME文件中,此文件中定义6个字段,意义同配置文件/etc/crontab中一律,只是去掉user-name段,即与系统cron比较,用户cron无需点名用户身份

crontab命令的选项:

-e:打开当前系统的私自认同文本编辑器,来定义用户cron

-r: 移除配置文件,会删除所有任务;

    (若删除某指定职分,crontab -e打开文件删除对应行即可)

-l: 列出周期性职务

-u
USE宝马X3NAME:管理员以其余用户身份定义crontab,并且会保留对采纳户名的目录下

  E.g. #crontab-e -u user1  (所以即可兑现root用户管理其余用户的职务)

cron配置文件中时间点的段,指定时间时可采用如下通配符:

* :相应时间点的兼具有效取值,即意为每

    E.g. 3 4 * * * root cat /etc/fstab   
每一天4点3分以root用户执行命令cat/etc/fstab

        3 4 * * 5 root cat /etc/fstab   
周周六4点3分执行(周和月,平常差异时行使)

, :离散取值 

    E.g. 3,18,33,48 * * * * root cat /etc/fstab

        表示每小时的第3分钟,18分钟….,即每5分钟实施1次

/ :定义指定取值范围内的作用

    E.g. */3 * * * * root cat/etc/fstab    每3分钟实施两回

    17 */3 * * * root cat /etc/fstab   
每3小时的第17分钟实施四遍,即落实每3钟头实施两次-  :三番五次取值:

    E.g. 17 8-20/3 * * * root cat /etc/fstab 
天天8点到20点每3钟头实施一次

例:3 18 * * 2,5                    周周执行2次(周三和周四)

        2,328-18/3 * * 1-5       
星期一到周日,8点到18点每隔3小时,每半小时实施一回

        72 */2 * * root tar -Jcf /backup/etc-`date ‘+%F’`.tar.xz
/etc/*    每2天的黎明(英文名:lí míng)2点7分执行备份五回/etc目录

 

Linux中运用crontab成立安顿任务

Linux中用crontab例行工作安排

Linux crontab不实施难题排查

Ubuntu使用crontab定时任务

Linux布置任务(at batch crontab anacron)  

正文永久更新链接地址:

Linux的陈设义务分为两类:
1,一回性执行: 常用命令:at, batch,正视于atd服务 2,周期性执行:
常用命令:crontab,器重…

Linux的安顿职务分为两类:

定时职务Crond介绍

Crond是linux系统中用来定期执行命令/脚本或指定程序职务的一种服务或软件,一般景观下,大家设置完Centos5/6
linux操作系统之后,默许便会启动Crond义务调度服务。

Crond服务会定期(暗许每分钟检查几次)检查系统中是或不是有要推行的天职工作,倘使有,便会按照其事先设定的定时职责规则自动执行该定时任务工作,那一个crond定时职分服务就也等于大家常常早起利用的闹钟一样。

 

必须保留的启动服务:

crond:定时任务服务
network:网络服务
rsyslog:日志服务
sshd:远程链接服务
sysstat:系统监控服务(涉及一系列监控工具)

澳门金沙国际 1

 

何以要运用定时职责吗?

  • 大家举个例子表明:例如,大家的数据库或许代码程序必要天天早上0点做四回全备份,这样每一日夜间都亟待履行的周期性工作,假使要令人操作的话,就得每一日半夜爬起来,然后登录系列执行职分,执行完接着睡觉。此外,执行任务的长河也可能不断几个小时,这样一来,一个夜晚大家就都无须睡觉了,那样鲜明是尤其的。那么有何方法来消除那些周期性的执行义务急需吗?
  • 那就是linux系统的定时任务Crond,这一定于大家一直生存中的闹钟功效,天天早上提前安装定时,早上如期叫醒你。

ls -l /var/log/messages* #系统的日志

ls -l /var/log/secure* #用户登录日志

 

用户执行的职务工作:某个用户或系统管理员定期要做的职分工作,例如每隔5分钟和网络上时间服务器举行时间一起(那是安装系统基础优化部分的始末),天天早上0点备份网站站点数据及数据库数据,一般这么些工作索要由逐个运维自行设置才行。

 

1,几次性执行:

服务器时间共同

echo "*/5 * * * * /usr/sbin/ntpdate time.nist.gov > /dev/null 2>&1" >> /var/spool/cron/root

可通过上面的下令设置每5分钟实施几次。每一遍将互连网时间一起到本地Linux系统。

crontab -l 查看当前用户的定时义务安插。*号 上边会详讲~~

time.nist.gov是NTP服务器地址 time.windows.com,微软自家的大运服务器。 越多请参见
==> 国内常用NTP服务器地址及IP

澳门金沙国际 2

 

crontab(命令):正如前方所说的这些命令可以周期性的履行职分工作,例如:每五分钟做四遍服务器时间同步。要履行crontab这些命令,也须要启动一个劳动crond才行。那个crontab命令是生育工作中最常用到的下令,请大家必须领会。

1、开机自启动crond服务

澳门金沙国际 3

2、此时此刻服务的景色(查看,开启,关闭)

澳门金沙国际 4

3、如何查看进度

ps -ef | grep crond

澳门金沙国际 5

统计提醒:

  • 大家所说的crond服务是运作的主次,而crontab是用来治本用户的定时职分(规则)的一声令下
  • crond服务是集团生产工作中常用的机要服务,at和anacron很少用,可以忽略
  • 大致种种服务器都会用到crond服务
  • 上千服务器可以付出分布式定时职务项目方案(批量管理ansible/saltstack)

 

        常用命令:at, batch,重视于atd服务

定时任务Crond使用表达

[[email protected] ~]# crontab --help
crontab: invalid option -- '-'
crontab: usage error: unrecognized option
usage:  crontab [-u user] file
    crontab [-u user] [ -e | -l | -r ]
        (default operation is replace, per 1003.2)
    -e  (edit user's crontab)
    -l  (list user's crontab)
    -r  (delete user's crontab)
    -i  (prompt before deleting user's crontab)
    -s  (selinux context)
[[email protected] ~]# 
  • crontab -l 查看当前用户的定时义务布署
  • crontab -e 进入当前用户的定时职责vim编辑情势
  • crontab -u 用户名 -l 查看指定用户的定时任务设置

澳门金沙国际 6

 

2,周期性执行:

重点

透过crontab大家能够在稳定的间隔时间执行指定的连串指令或script脚本。时间距离的单位可以是分钟,小时,日,月,周及以上的人身自由组合(注意:日和周不要组合)。crond服务通过crontab命令能够很不难的落到实处周期性的日记分析或数据备份等公司运维情况工作

澳门金沙国际 7

使用者权限及定时职责文件

文件 说明
/etc/cron.deny(拒绝) 该文件中所列用户不允许使用crontab
/etc/cron.allow(允许) 该文件优先级高于cron.deny(默认不存在,一般不用)
/var/spool/cron/ 所有用户crontab配置文件默认都存在此目录,文件名以用户名命名

[[email protected] ~]# cat /etc/cron.deny 
zcl
[[email protected]~]# su - zcl
[[email protected]~]$ crontab -l
You (chensiqi) are not allowed to use this program (crontab)
See crontab(1) for more information
[[email protected]~]$ crontab -e
You (chensiqi) are not allowed to use this program (crontab)
See crontab(1) for more information

crontab { -l | -e } 实际上就是在操作/var/spool/cron/当前用户那样的公文

默许景况下,当用户建立定时职责规则后,该规则记录对应的配置文件会存在于/var/spool/cron中,其crontab配置文件对应的文书名与登录的用户名相同,如:root用户的定时职责布置文件为/var/spool/cron/root

[[email protected] ~]# ls /var/spool/cron/
root   #默认是没有的,只有创建了定时任务才有
[[email protected] ~]# cat /var/spool/cron/root
*/5 * * * * /sbin/ntpdate time.windows.com >/dev/null 2>&1

Crontab定时职分的书写格式很简短,用户的定时职分规则一般分为6个段(各种段通过空格来分隔,系统的定时职责为/etc/crontab,分为7个段,空格来分隔),前五段为时间的设定段,第六段为所要执行的通令或脚本任务段

澳门金沙国际 8

        常用命令:crontab,保养于crond服务

用户定时职务实例:

01 * * * * cmd #每小时的01分钟执行
02 04 * * * cmd #每天4点的02分钟执行
22 14 * * 00 cmd #每周日的14点22分执行
42 04 01 * * cmd #每月1日的4点42分执行
提示:
1、cmd为要执行的命令或脚本,例如:/bin/sh /server/scripts/chensiqi.sh
2、每个列之间必须要有一个空格。多个空格可以么?自己实践  ==> 经我本人测试有多个空格也可以执行!!

时间回忆口诀:分时日月周

四次性义务履行:

crontab 语法格式中特殊符号含义如下表

特殊符号 含义
* *号,表示任意时间都,实际就是“每”的意思
减号表示分隔符,表示一个时间范围,区间段,如17-19点,例如:每天的17,18,19点的00分执行任务。00 17-19 * * * cmd
逗号,表示分隔时段的意思例如每天的5点10点00分执行任务,00 5,10 * * * cmd
/n n代表数字,即“每隔n单位时间”,例如:每10分钟执行一次任务可以写成/*10 * * * * cmd,其中,/10,的范围是0-59,因此也可以写成0-59/10

 

澳门金沙国际 9

参考博客:

定时职务Crond介绍
Crond是linux系统中用来定期执行命令/脚本或指定程序职务的一种服务或软件,一般景况下,…

用法:

#at TIME

at> /bin/sync          输入须求履行的命令或脚本

at> “Ctrl+d”          输入Cry+d提交职责

TIME:的二种格式

                  #at now+3min                                         
      绝对时间

                  #at 11:30                                           
    或是绝对时间

                  #at noon, midnight, teatime(4:00pm)      或是模糊时间

                                                                       
                  man at查看其余详细时间表示方法

 at命令选项:

-m:当at工作成就后,固然没有出口消息,也会以mail文告用户工作已成功

-l:列出当前正在等候执行的职分队列

    #at -l= #atq   

-d:删除尚未履行的职务

    #at -dJOB_ID = atrm JOB_ID 

-f:指定执行对应目录下的本子

    #at-f /PATH/TO/AT_SC奥迪Q3IPT TIME      指定执行对应目录下的台本

        此处/PATH/TO/AT_SCRIPT称为at脚本

例:at的拔取实例

普普通通在改长途主机ip此前,为幸免修改后的新IP不通,导致力不从心连接,此场景中则可以先举行一个at职责

#at now 10min

at>ifconfig eth0 IP                  ##此IP为当前在选用的正确性的IP

头阵送此at职分,再去改IP,就算改错,10分钟后也会自动苏醒。

与at的例外是,batch可以不须要指定时间,自动接纳系统空闲时举办。在布置执行某些批处理义务的地方时,恐怕选取到,使其和好评估选用系统空闲时进行。

周期性任务:

周期性职责有两类:

系统类周期性职分:/etc/crontab

用户类周期性职务:/var/spool/cron/USELX570NAME

系统cron的定义:

方法:

1、#vim /etc/crontab            此配置文件中添加布置职责

2、#service crond restart        重启crond服务,使刚添加的陈设职责生效

系统cron的安插文件/etc/crontab中7个字段的意义:

#cat/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(第七字段)

用户cron的定义:

方法:

#crontab -e [-u USERNAME]

此命令自动打开编辑器,即可新建义务、修改原有义务、删除原有职务,然后保留即可。此命令编辑文件提供语法检查职能,而因而vim并不会。类似visudo。

封存后的cron文件自动保存在
/var/spool/cron/USETucsonNAME文件中,此文件中定义6个字段,意义同配置文件/etc/crontab中一样,只是去掉user-name段,即与系统cron比较,用户cron无需点名用户身份

crontab命令的选项:

-e:打开当前系统的暗中认同文本编辑器,来定义用户cron

-r: 移除配置文件,会去除所有义务;

    (若删除某指定义务,crontab -e打开文件删除对应行即可)

-l: 列出周期性职分

-u
USE昂科拉NAME:管理员以其余用户身份定义crontab,并且会保留对应用户名的目录下

  E.g. #crontab-e -u user1  (所以即可已毕root用户管理其余用户的天职)

cron配置文件中时间点的段,指定时间时可选用如下通配符:

* :相应时间点的拥有有效取值,即意为每

    E.g. 3 4 * * * root cat /etc/fstab   
每一天4点3分以root用户执行命令cat/etc/fstab

        3 4 * * 5 root cat /etc/fstab   
每周六4点3分执行(周和月,日常不一样时利用)

, :离散取值 

    E.g. 3,18,33,48 * * * * root cat /etc/fstab

        表示每小时的第3分钟,18秒钟….,即每5分钟实施1次

/ :定义指定取值范围内的频率

    E.g. */3 * * * * root cat/etc/fstab    每3分钟实施五回

    17 */3 * * * root cat /etc/fstab   
每3钟头的第17分钟实施一次,即落到实处每3小时实施三遍-  :接二连三取值:

    E.g. 17 8-20/3 * * * root cat /etc/fstab 
天天8点到20点每3钟头实施几回

例:3 18 * * 2,5                    周周执行2次(周一和礼拜一)

        2,328-18/3 * * 1-5       
星期日到星期五,8点到18点每隔3钟头,每半钟头实施一回

        72 */2 * * root tar -Jcf /backup/etc-`date ‘+%F’`.tar.xz
/etc/*    每2天的黎明(英文名:lí míng)2点7分执行备份一次/etc目录

 

Linux中使用crontab创立安插任务
http://www.linuxidc.com//Linux/2013-06/86401.htm

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

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

Ubuntu动用crontab定时任务
http://www.linuxidc.com//Linux/2013-05/84770.htm

Linux陈设义务(at batch crontab anacron)
http://www.linuxidc.com//Linux/2013-03/81584.htm 

本文永久更新链接地址:澳门金沙国际,http://www.linuxidc.com/Linux/2014-09/106216.htm

澳门金沙国际 10

相关文章