Linux系统软件给予了at和crontab2个指令来实行计划任务。at关键用以一次性计划任务,而crontab则实行规律性计划任务。Cronjob广泛运用于linux的实际操作和维护保养。安裝linux系统软件后,linux会自动启动crond过程,crond过程是规律性每日任务的xinetd,用以查验是不是有预订每日任务要实行。

crontab安装配置文件-教你crontab定时执行shell脚本-第1张图片crontab指令的常见主要参数:crontab file [-u user] -用自定义的文档取代现阶段的crontab.crontab -[-u user] -用规范键入取代现阶段的crontab.crontab -l [user] -表明当今出现的crontab每日任务 .crontab -e [user] -用以编写建立crontab文件每日任务 .crontab -r [user] -删除当前客户crontab文件(文档储存途径为/var/spool/cron/username) .crontab -c dir -特定crontab的文件目录。

建立一个新的crontab文件。

在考量向cron过程递交crontab文件以前,最先要做的是设定系统变量EDITOR。依据它,cron过程决策采用哪一个在线编辑器来编写crontab文件。大部分客户应用vi。假如您像小编一样应用vi,请立即编写。$ HOME文件目录中的环境变量,并加上:

EDITOR=vi; export EDITOR ~ source .bash_profile

Crontab指令日期格式设定。

crontab每日任务字段名有六个,前五个是時间字段名,分别是:钟头,天,月,周;第六个字段名是运行命令字段名,能够是单独指令或脚本文件。時间字段名中能够应用特殊符号,' * '意味着全部有可能的值,','意味着选中的时间范围,'-'意味着选中的时间段,'/'意味着间隔时间的頻率。

crontab安装配置文件-教你crontab定时执行shell脚本-第2张图片比如:

➜ ~ crontab -l */1 10-14 24,25 * * echo `date` >> /root/date.log

含意:每月24日和25日10: 00到14: 00每过一分钟,便会有一个时间輸出到/root/date.log文件中。

➜ ~ crontab -l30 21 * * * /usr/local/etc/rc.d/lighttpd restart

意思是:每天晚上21:30重新启动apache。

大家早已知道cronjob的基本上设定和应用,可是在我们建立并进行cronjob每日任务时,常常会发觉crontab计划任务沒有实行,这确实很让人消沉!没事儿,往下看~

Crontab任务计划不实行常见故障清除念头。

2个关键的文件目录文档。

有关crontab每日任务,大家必须了解好多个文件目录文档。这种文档针对大家剖析crontab任务计划不实行的缘故十分有效。

/var/log/cron,用以纪录crontab每日任务实行系统日志的文档,无论实行取得成功与失败都被纪录。/var/spool/mail/username,用以纪录crontab每日任务实行不成功系统日志的文档,linux系统软件中每一个计划任务实行后,系统软件都是会将 不成功的每日任务信息内容根据电子邮箱的方式发给当今系统软件客户。

实行常见故障清除全过程(比如)。

我加入了一个任务计划来每分关掉iptables每日任务,可是iptables沒有关掉。

查询系统日志尾/var/spool/mail/root,发觉该服务项目指令文件目录不会有:

crontab安装配置文件-教你crontab定时执行shell脚本-第3张图片~哪一个服务项目/usr/sbin/service ~ crontab-e */1 * * * */usr/sbin/service iptables stop能够化解这个问题。这一事例体现了一个普遍存在。在我们在当今shell中实行脚本制作时,没有问题,可是在我们将脚本制作载入cronjob时,便会发生各类难题。这是由于cronjob不容易全自动载入大家的脚本制作需要的各种各样系统变量,大家必须手动式将他们加上到cronjob每日任务中,以保证cronjob的常规运作。

解决方法的改动:

➜ ~ crontab -l SHELL=/bin/sh PATH=PATH=/sbin:/bin:/usr/sbin:/usr/bin */1 * * * * service iptables stop

假如python脚本制作或mongodb脚本制作不可以按时实行,能够选用这些方式。

无法实行cronjob的别的非常容易被忽略的缘故:

计划任务途径难题,在cronjob中最好是应用相对路径来精准定位脚本制作或是輸出文档。脚本制作管理权限难题,改动脚本制作管理权限,一般而言chmod 777就可以。时间格式难题,校正时间格式。crond服务项目难题,保证服务项目情况一切正常,service crond status

评论(0条)

刀客源码 游客评论