linux crontab 用法入门教程
发布时间:2022-10-24 07:14
来源:群英
阅读:177
作者:群英
栏目: 主机资讯
欢迎投稿:712375056
鉴于很多人对crontab 用法都不知道怎么用,而自己最近又在搞这个东西,所以研究了下crontab 用法。在这跟大家分享一下:
crond和crontab
cron是linux提供的一种
服务器,用于定期执行shell命令。主要由两部分组成
crond:cron服务的守护进程,用于定期调度
crontab:cron提供的UI,用于编辑调度计划
crontab的使用方法,大家可以学习一下,如下图:
主要有三个选项:
“-e”编辑:与vim类是,但是在保存退出时,他会帮你检查任务语法;
“-l”列举所有任务;
“-r”删除所有任务;
目前介绍的是基于当前用户的crontab,系统级别的crontab见后面介绍。
crontab 基本语法,如下图
【调度频率】 shell命令
给大家举个例子:
可以看出,前面分别是分钟,小时,天,月和周,是shell命令。cron调度的最小频率为1分钟。上面这段调度的意思是:“每天10点30分,执行/some/path/do_something.sh”。
以上命令中具体含义:
“周”这一栏中0和7都代表周日
每个月的一日无法由crontab直接支持,需要通过脚本判断,参考如下。
命令是路径
还有一些辅助的符号,可以借助他们写出更灵活的调度
常见的例子
59 23 11 27 * mail benben < /home/dmtsai/lover.txt // 每一年11月27日23分59 秒发一封情书给benben
0 17 * * 5 mail all_members < weekily_report_notify // 每周五5点整,提醒所有组员发周报
系统级的crontab
系统级的crontab只有root权限有权编辑,该crontab是一个文件,位置为/etc/crontab,
系统级别的crontab的语法与上面稍微不一样,需要在频率和命令之间添加命令执行者,如下所示,并且可以添加一些全局变量,在调度中使用:
详细的系统级调度可以参考这里。
这里需要强调/etx目录下几个与cron有关的目录和文件,如下所示
cron.d:目录,此目录下以及子目录中所有符合调度语法的文件都会被执行
cron.deny与cron.allow:此文件记录拒绝和允许执行的帐号,cron.allow的优先级大于cron.deny,建议一般只留一个可以
cron.daily/hourly/monthly/weekly:这些目录里面全部都是脚本,分别在指定的时间里面执行。
路径
虽然crontab执行,可以理解为手动执行的定时触发。但是,执行过程中的路径仍然有所区别,很多情况下手动执行成功,但是crontab不成功,多半是由于采用了相对路径。所以,使用crontab时,尽量采用路径。
来源链接:https://www.qy.cn/zx/idc/763.html
本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。