当前位置 博文首页 > 文章内容

    菜鸟计划,菜鸟运维笔记:编写crontab计划任务

    作者:zyd1113wz 栏目:网站相关 时间:2021-04-14 16:06:44

    本站于2023年9月4日。收到“大连君*****咨询有限公司”通知
    说我们IIS7站长博客,有一篇博文用了他们的图片。
    要求我们给他们一张图片6000元。要不然法院告我们

    为避免不必要的麻烦,IIS7站长博客,全站内容图片下架、并积极应诉
    博文内容全部不再显示,请需要相关资讯的站长朋友到必应搜索。谢谢!

    另祝:版权碰瓷诈骗团伙,早日弃暗投明。

    相关新闻:借版权之名、行诈骗之实,周某因犯诈骗罪被判处有期徒刑十一年六个月

    叹!百花齐放的时代,渐行渐远!



         管理主机的时候,我们每天有些事情是经常要做的,为了避免每次都手工操作,我们可以编写计划任务,来让主机周期性地按照计划来自动执行。

        安装启动

         CentOS下:

         安装前者一般会同样安装上后者。

         启动服务。

         service crond start

         要启动该服务才行。

         系统级crontab

         用ls /etc/cron然后敲两下TAB,可以看到相关文件及目录。

         cron.d/     cron.daily/   cron.hourly/  cron.monthly/ crontab   cron.weekly/

         文件及目录解读

         我们可以编辑crontab文件,来创建计划任务。

         而以daily,hourly,weekly,monthly后缀的目录下分别存放每天,每月,每周,每月执行的任务。

         其中存放的就是Shell脚本文件,权限755。我们把要执行的任务写成Shell脚本丢进行相应的目录就可以了。

         而不规则周期的计划任务放在corn.d目录下面。可以看做是crontab文件的补充。

         crontab文件格式

         该文件开头包含必要的环境变量,不再介绍。

         具体写法直接看源文件注释:

         一共七个字段,其含义一目了然。需要注意的是每个字段的写法。

         * *表示每一个。比如minute字段下的*表示每一分钟执行

         * */n表示每隔n。比如hour字段下,*/2表示每隔两小时执行。0-10/2表示1,3,5,7,9

         * 1-5这种格式表示一共连续的时间段

         * 1,3,5这种格式是枚举几个不连续的时间段

         注意:

         1. 第三个字段‘天’和第五个字段‘星期几’是或的关系。所以不会冲突,符合两种情况都执行。

         2. 该文件中如果出现%要进行转义,比如date +%w 在该文件内编写的时候要写成date +\%w。

         3. 把分钟设置成*要慎重!

         crontab命令(用户级)

         命令选项

         s选项不常用。

         实际上该命令编辑的是/var/spool/cron/用户名 文件。

         所以你也可以直接编辑该文件。

         守护进程crond每分钟会读取该文件一次。

         编写格式

         格式与前文中crontab文件的编写格式相仿,但是没有用户user-name字段。

         因为该命令只能编写当前用户的计划任务。

         日志

         在/var/log/cron下面可以看到全部日志。

         而/var/spool/cron/在下面也可以看到一定的日志。

         原文链接:https://blog.csdn.net/guodongxiaren/article/details/43793007