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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。