Linux中的计划任务,Linux之定时任务

系统安顿职分

当先二分之一系统管理专门的学问都以经过为期自动实践某些脚本来完结的,那么什么样依期实践某些脚本,进而完结运转的自动化,那将在凭仗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 编辑其他人的计划任务

介怀:此命令使用编辑的是/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_SCENVISIONIPT 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/USEPRADONAME

系统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)                #第4个字段

# |  |  .---------- 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/USESportageNAME文件中,此文件中定义6个字段,意义同安排文件/etc/crontab中同样,只是去掉user-name段,即与系统cron比较,顾客cron无需点名客商地方

crontab命令的选项:

-e:张开当前系统的默许文本编辑器,来定义客户cron

-r: 移除配置文件,会去除全数职务;

    (若删除某钦点职责,crontab -e张开文件删除对应行就能够)

-l: 列出周期性职责

-u USE奥迪Q7NAME:管理员以其余顾客身份定义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天的黎明先生2点7分奉行备份一回/etc目录

 

Linux中选拔crontab创制安排任务

Linux中用crontab例行专门的职业计划

Linux crontab不进行难题每种审核

Ubuntu使用crontab定期职务

Linux铺排职务(at batch crontab anacron)  

正文恒久更新链接地址:

Linux的布置任务分为两类: 1,三回性实行: 常用命令:at, batch,信任于atd服务 2,周期性实践: 常用命令:crontab,信赖...

准时任务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点备份网址站点数据及数据库数据,常常这几个干活儿索要由各样运转自行安装才行。

 

服务器时间一同

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)

 

准期职分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

 

重点

通过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

客户准期职分实例:

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系统中用来按时实践命令/脚本或钦定程序职分的生机勃勃种服务或软件,日常景色下,...

本文由星彩网app下载发布于星彩网app下载,转载请注明出处:Linux中的计划任务,Linux之定时任务

TAG标签: 星彩网app下载
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。