crontab 执行命令,linux中的crontab命令

  crontab 执行命令,linux中的crontab命令

  在LINUX中,周期性执行的任务一般由cron [ps -efgrep cron]处理。Cron读取一个或多个配置文件,其中包含命令行及其调用时间。

  cron的配置文件叫做“crontab”,是“cron table”的简称。

  一、cron服务

  Cron是linux下的定时执行工具,可以在没有人为干预的情况下运行作业。

  服务crond start //启动服务

  服务crond stop //关闭服务。

  服务crond restart//重新启动服务

  服务crond重新加载//重新加载配置

  服务crond状态//检查服务状态

  二。cron在3个地方查找配置文件:

  1./var/spool/cron/该目录存储每个用户的crontab任务,包括root。每个任务都以创建者的名字命名。比如tom创建的crontab任务对应的文件是/var/spool/cron/tom。通常,一个用户最多只有一个crontab文件。

  三。/etc/crontab该文件负责安排crontab,用于维护系统以及系统管理员制定的其他任务。

  SHELL=/bin/bash

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

  MAILTO=root

  HOME=/

  #有关详细信息,请参见man 4 crontabs

  #工作定义示例:

  # .-分钟(0 - 59)

  # .-小时(0 - 23)

  # .-一个月中的第几天(1 - 31)

  # .-一月(1 - 12日)或一月、二月、三月、四月.

  # .-星期几(0 - 6)(星期日=0或7)或星期日、星期一、星期二、星期三、星期四、星期五、星期六

  #

  # * * * * * *要执行的用户名命令

  MAILTO=root:也就是当/etc/crontab文件中的例程命令出错时,错误消息或者屏幕上显示的消息会发给谁?因为root无法再接收客户端的邮件,所以我一般会把这个邮件换成自己的账号,以便随时了解系统的状态!01 * * * * root run-parts/etc/cron . hourly:在#run-parts行后的命令中,我们可以发现root后面跟了五个数字,这一行代表“执行的级别是root身份”。当然,你可以把这条线换成其他身份!而run-parts代表的是下面的/etc/cron.hourly是“一个目录下的所有可执行文件(/etc/cron.hourly)”,也就是说,每小时的01: 00,系统会以root的身份到/etc/cron.hourly目录下执行所有可执行文件!最后三行意思差不多!你可以去/etc/下看看。系统预置了这四个目录!你可以把每天需要执行的命令直接写到/etc/cron.daily,不需要用crontab -e的程序!

  四。/etc/cron.d/该目录用于存储任何要执行的crontab文件或脚本。

  动词(verb的缩写)权威(?)

  Crontab对/var/adm/cron/的权限问题接下来看看,cron.allow和cron.deny这两个文件是否存在?

  用法如下:

  1.如果两个文件都不存在,只有root用户可以使用crontab命令。

  2.如果cron.allow存在,但cron.deny不存在,则只有cron.allow文件中列出的用户可以使用crontab命令。如果root用户不在其中,root用户也不能使用crontab。

  3.如果cron.allow不存在而cron.deny存在,则只有cron.deny文件中列出的用户不能使用crontab命令,但其他用户可以。

  4.如果两个文件都存在,cron.allow文件中列出但cron.deny文件中没有列出的用户可以使用crontab。如果两个文件中有相同的用户,以cron.allow文件中是否有该用户为准。如果cron.allow文件中有这个用户,可以使用crontab命令。

  AIX中的普通用户默认拥有crontab权限。如果要限制用户使用crontab,需要编辑/var/ADM/cron/cron.deny。

  在HP-UNIX中,默认的普通用户没有crontab权限。如果想释放普通用户的crontab权限,可以编辑。

  不及物动词创建cron脚本

  步骤1:编写一个cron脚本文件,并将其命名为crontest.cron

  15,30,45,59 * * * * echo xgmtest . xgmtest.txt表示打印命令每15分钟执行一次。

  步骤2:添加计划任务。执行命令“crontab crontest.cron”。锻炼

  步骤3: crontab -l 检查调度的任务是否成功,或者检查/var/spool/cron下是否生成了相应的cron脚本。

  注意:该操作是直接替换该用户下的crontab,而不是添加。

  七。crontab的使用

  crontab命令用于安装、删除或列出用于驱动cron后台进程的表。用户把要执行的命令序列放到crontab文件中执行。

  每个用户都可以拥有自己的crontab文件。不能直接创建或修改/var/spool/cron下的Crontab文件。crontab文件由crontab命令创建。

  如何在crontab文件中输入要执行的命令和时间?文件中的每一行包括六个字段,其中前五个字段是执行指定命令的时间,最后一个字段是要执行的命令。

  每个字段由空格或制表符分隔。格式如下:

  分钟小时月日年月日星期命令

  合法值是00-59 00-23 01-31 01-12 0-6 (0是星期日)

  除了数字之外,还有几个特殊符号,分别是 * 、/和-、、、表示范围内的所有数字,/表示每五个单位,-表示某个数字到某个数字,、分隔几个离散的数字。

  -l在标准输出上显示当前crontab。

  -r删除当前的crontab文件。

  -e使用VISUAL或EDITOR环境变量指向的编辑器编辑当前crontab文件。当您完成编辑并离开时,编辑过的文件将自动安装。

  八。示例:

  每天早上6点。

  0 * * *回应“早上好”/tmp/test . txt//注意,简单地echo,你看不到任何来自屏幕的输出,因为cron会将任何输出通过电子邮件发送到root的邮箱。

  每两个小时

  0 */2 * * * echo“现在休息一下。”/tmp/test.txt

  晚上11点至早上8点和早上8点之间,每两个小时一次。

  0 23-7/2,8 * * * echo 做个好梦/tmp/test.txt

  每月4日,每周一至周三上午11点。

  0 11 4 * 1-3命令行

  1月1日凌晨4点

  0 1 1 *命令行shell=/bin/bash path=/sbin:/bin:/usr/sbin:/usr/bin mailto=root//如果有错误或数据输出,数据将被发送到此帐户HOME=/

  每小时执行/etc/cron.hourly中的脚本

  01 * * * *根运行-零件/etc/cron.hourly

  每天执行/etc/cron.daily中的脚本。

  02 4 * * * root run-parts/etc/cron . daily

  每周执行/etc/cron.weekly中的脚本。

  22 4 * * 0根运行零件/etc/cron .每周

  每月执行/etc/cron.monthly中的脚本。

  42 4 1 * *根运行-零件/etc/cron .每月

  注意:缺少参数“run-parts”。如果删除此参数,可以写入要运行的脚本的名称,而不是文件夹名称。

  每天下午4点、5点、6点分别在5分钟、15分钟、25分钟、35分钟、45分钟、55分钟执行命令。

  5,15,25,35,45,55 16,17,18 * * *命令

  每周一、三、五下午三点,系统进入维护状态,重启系统。

  00 15 * * 1,3,5关机-r 5

  在每小时的10: 00和40: 00,在用户目录中执行命令innd/bbslin:

  10,40 * * * * innd/bbslink

  每小时1分钟在用户目录中执行bin/account命令:

  1个* * * *箱/账户

  每天凌晨3: 20,在用户目录中执行以下两条指令(每条指令以;分开):

  20 3 * * *(/bin/RM-f expire . ls logins . bad;bin/expire $ # @ 62;过期. 1st)

  每年1月和4月分别在4日到9日的3: 12和3: 55执行/bin/rm -f expire.1st命令,结果添加在文件mm.txt之后(文件mm.txt位于用户自己的目录下)。

  12,55 3 4-9 1,4 */bin/RM-f expire . 1st $ # @ 62;$#@62;mm.txt

  https://www.cnblogs.com/longjshz/p/5779215.html

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: