• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

每天学一个-Linux-命令98crontab

linux 搞代码 4年前 (2022-03-03) 27次浏览 已收录 0个评论
文章目录[隐藏]

命令简介

在服务器装置好零碎及相干服务之后,对于零碎的配置、服务的配置、数据的治理以及服务器的操作权限治理就变的尤为重要。因为,波及到服务器的各项平安(如:登录、操作)。

crontab 命令用来关上 cron 表进行编辑。

定时工作:顾名思义,就是定期执行某项操作或者某种行为。像Windows零碎同样它也有定时工作服务。

在Linux零碎中,crond是Linux零碎中用来定期执行命令、脚本或指定程序的一种服务。定时工作个别有以下两种用处:

  • 1、零碎本身定期执行的操作或工作(如:日志轮询)。
  • 2、用户定期执行的操作或工作(如:定时更新同步数据、重要数据备份等)。

Linux下的任务调度分为两类:零碎任务调度和用户任务调度

零碎任务调度:零碎周期性所要执行的工作,比方写缓存数据到硬盘、日志清理等。在/etc/目录下有一个crontab文件,这个就是零碎任务调度的配置文件。

/etc/crontab 文件内容如下

[root@centos7 ~]# 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

从上机的配置文件,能够看出零碎定时工作格局/etc/crontab分为6段,以空格分隔。前5段为工夫格局,第6段是所需执行的命令。具体的阐明:

minute  #分钟,能够是从0到59之间的任何整数
hour   #小时,能够是从0到23之间的任何整数
day    #日期,能够是从1到31之间的任何整数
month  #月份,能够是从1到12之间的任何整数
week   #星期,能够是从0到7之间的任何整数,这里的0或7代表星期日
command  #执行的命令,能够是系统命令,也能够是本人编写的脚本文件

在上述的配置字段中,还会应用到上面的特殊字符

*(星号)  #示意所有值。比方在第一段中如果应用*,则示意在满足其余条件的同时每分钟都执行前面的命令操作。
,(逗号)  #用逗号分隔的值示意指定的一个范畴。比方在第四段应用1,3,5,7,则示意在第1,3,5,7月的含意。
—(中杠)  #示意一个范畴。比方在第二段应用0-8,则示意0点到8点这一区间范畴。
/(正斜线)  #示意一个工夫的距离频率。比方在第一段应用*/5,则示意每距离5分钟的含意。

语法格局

crontab [-u user] file
crontab [-u user] [-l | -r | -e] [-i] [-s]

选项阐明

-e  #编辑该用户的计时器
-l  #列出该用户的计时器
-r  #删除该用户的计时器
-u<用户名称>  #指定要设定计时器的用户名称

定时工作书写与配置

书写定工作标准

在日常理论生产、测试环境中,书写定时工作是须要恪守肯定的标准、规定的。笔者依据本人理论生产环境书写教训,总结如下:

  • 1、书写定时工作时必须对每一行或一段加上正文信息。
  • 2、如里是以shell脚本执行的工作,在最后面加上解释/bin/sh。
  • 3、对于执行脚本的定时工作,需在其结尾加上>/dev/null 2>&1将一些不必要的输入信息重定向到空,也就是不输入不须要的信息。
  • 4、应用零碎或服务命令要应用绝对路径,再写到脚本,最初将脚本写进定时工作中。
  • 5、标准应用目录(如定时工作执行的脚本目录设置成/server/cron_scripts)。
2)定时工作配置

理论生产、测试环境,对于定时工作的配置也是须要有肯定操作标准的,具体如下:

  • 1、对于执行命令的模式的定时工作,须要先测试命令执行状况,确认无误后将执行的命令写进脚本。
  • 2、对于脚本模式的定时工作,首先就是须要调试脚本的整体执行状况,而后应用标准目录门路写进定时工作。
  • 3、对于生产环境的定时工作操作,必须在测试环境进行重复测试,确认无误后再利用到理论生产环境中,而后在定时工作执行后人工进行查看执行状况。

对于定时工作的具体实例及各类操作,可参考官网文档阐明。读者也可在本人的试验环境进行书写、配置,本章节就不做过多赘述。

以上的内容源自民工哥的新书《 Linux 零碎运维指南 从入门到企业实战 》

利用举例

查看以后登录用户下的定时工作状况

[root@centos7 ~]# crontab -l
no crontab for root

每小时的第5和第15分钟执行

5,15 * * * * command_name

在上午9点到11点的第5和第15分钟执行

5,15 9-11 * * * command_name

每隔3天的上午9点到11点的第5和第15分钟执行

5,15 9-11 */3 * * command_name

每个星期一的上午9点到11点的第5和第15分钟执行

5,15 9-11 * * 1 command_name

每月1、11、21日的14:45重启httpd

45 14 1,11,21 * * /etc/init.d/httpd restart

每周六、周日的1:10重启smb

10 1 * * 6,0 /etc/init.d/httpd restart

每小时执行/etc/scripts/test.sh这个脚本

01 * * * * /etc/scripts/test.sh

每天学一个 Linux 命令(96):ntpdate

每天学一个 Linux 命令(97):jobs


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:每天学一个-Linux-命令98crontab

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址