Linux之定时职务

 

定时职责Crond介绍

Crond是linux系统中用来定期执行命令/脚本或钦点程序职责的一种服务或软件,一般情况下,咱们设置完Centos5/6
linux操作系统之后,暗中认可便会运转Crond职责调度服务。

Crond服务会定期(暗许每分钟检查二次)检查系统中是或不是有要进行的天职工作,假诺有,便会根据其事先设定的定时职务规则自动执行该定时任务工作,那么些crond定时职责服务就也正是大家常常早起选取的闹钟一样。

 

务必保留的启航服务:

crond:定时任务服务
network:互联网服务
rsyslog:日志服务
sshd:远程链接服务
sysstat:系统监察和控制服务(涉及一多级监察和控制工具)

图片 1

 

为什么要选择定时职责吗?

  • 大家举个例子表明:例如,大家的数据库也许代码程序须求每一日早晨0点做二遍全备份,那样每一日夜间都亟待执行的周期性工作,要是要令人操作的话,就得每日半夜爬起来,然后登录体系执行职务,执行完接着睡觉。其它,执行任务的进度也或者不断多少个时辰,那样一来,1个夜间大家就都无须睡觉了,这样明显是11分的。那么有何样办法来消除那么些周期性的施行职责必要呢?
  • 那就是linux系统的定时职责Crond,这一定于大家一贯生活中的闹钟成效,天天深夜提前安装定时,晚上准时叫醒你。

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

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

 

用户执行的义务工作:有些用户或系统一管理理员定期要做的职务工作,例如每隔六秒钟和互连网上时间服务器实行时间同步(那是设置系统基础优化部分的内容),每一日清晨0点备份网站站点数据及数据库数据,一般这个干活儿亟待由各种运行自行安装才行。

 

服务器时间共同

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

可透过上面包车型客车一声令下设置每6分钟实施2次。每便将网络时间一起到地头Linux系统。

crontab -l 查看当前用户的定时职责布置。*号
上边会详讲~~

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

图片 2

 

crontab(命令):正如前方所说的那些命令能够周期性的履行职分工作,例如:每五分钟做一遍服务器时间一起。要实施crontab那一个命令,也急需运行三个劳务crond才行。那一个crontab命令是生育工作中最常用到的一声令下,请我们必须精晓。

壹 、开机自运转crond服务

图片 3

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

图片 4

三 、怎么着查看进度

ps -ef | grep crond

图片 5

小结提醒:

  • 咱俩所说的crond服务是运营的程序,而crontab是用来保管用户的定时义务(规则)的命令
  • crond服务是合营社生产工作中常用的要紧服务,at和anacron很少用,能够忽略
  • 差不离每个服务器都会用到crond服务
  • 上千服务器能够支付分布式定时任务项目方案(批量管理ansible/saltstack)

 

定时任务Crond使用表达

[root@chengliang ~]# 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)
[root@chengliang ~]# 
  • 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配置文件默认都存在此目录,文件名以用户名命名

[root@chengliang ~]# cat /etc/cron.deny 
zcl
[root@chengliang~]# su - zcl
[chensiqi@chengliang~]$ crontab -l
You (chensiqi) are not allowed to use this program (crontab)
See crontab(1) for more information
[zcl@chengliang~]$ 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

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

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

图片 8

用户定时职务实例:

01 * * * * cmd #每时辰的01分钟实施
02 04 * * * cmd #天天4点的02分钟实施
22 14 * * 00 cmd #每星期日的14点贰13分执行
42 04 01 * * cmd #每月1日的4点42分执行
提示:
壹 、cmd为要实行的一声令下或脚本,例如:/bin/sh
/server/scripts/chensiqi.sh
② 、各种列之间必供给有一个空格。四个空格能够么?自个儿履行  ==>
经作者自家测试有五个空格也得以实施!!

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

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

参照博客:http://www.cnblogs.com/chensiqiqi/p/6367890.html

相关文章