未加星标

Linux工具命令之crontab

字体大小 | |
[系统(linux) 所属分类 系统(linux) | 发布者 店小二03 | 时间 2018 | 作者 红领巾 ] 0人收藏点击收藏
前言

在平时工作中,我们经常需要执行一些定时任务。 比如我的电脑每天晚上都会在凌晨1点开始sync代码,并执行编译。4点又会sync另一份代码。执行另一个编译任务。这无疑会提高我们白天的工作效率,因为每天到公司都不再需要同步代码, 并且已经有一份编译好的最新代码了。

当然,定时任务可以干的远不止这些,你可以定时跑monkey啊,定时检查东西发邮件等。

cron服务

linux系统是由一个叫cron的服务来控制定时任务的。 Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的。 (我们可以使用 service --status-all 来查看系统有哪些service运行,里面有这个cron服务, 直接查看该服务状态 service crond status )

由于用户自己也可以设置计划任务,所以, Linux 系统也提供了使用者控制计划任务的命令 :crontab (即 cron命令的table, 连起来就是crontab)

系统的cron服务会去读取以下几个路径的配置文件:

sudo cat /var/spool/cron/crontabs/(用户名)

那么crontab命令就是帮助我们配置这个表并生效的。

crontab命令

ok, 我们在终端敲下: crontab help

usage: crontab [-u user] file crontab [ -u user ] [ -i ] { -e | -l | -r } (default operation is replace, per 1003.2) -e (edit user's crontab) -l (list user's crontab) -r (delete user's crontab) -i (prompt before deleting user's crontab)

那我们就来编辑一下, crontab -e , 会出来一个vi的编辑窗口,里面编辑的是我们的配置文件。我们配置一条1点1分执行一个脚本,如下配置保存即可。

#分 时 日 月 周 |<==============任务的完整命令行 01 01 * * * bash -l -c "~/xiamin-doc/task/a1-build.sh >> /tmp/build-a1.log"

当我们保存了上面的配置后, 其实就保存在 ` /var/spool/cron/crontabs/(用户名)`这个配置文件里了。并且cron服务会去读取表里额配置项执行了。

注意点:周与日月不可同时并存

30 12 11 9 5 root echo “just test” <==是错误的配置

系统可能会判定每个星期五作一次,或每年的 9 月 11 号分别进行,总之会出乎你的意料之外的。

总结

到此我们已经知道怎么去配置定时任务了,以及其原理了。 接下来就是大家编辑自己脚本,让其能够成为我们的工作小帮手了!

作者:Anderson大码渣,欢迎关注我的简书: Anderson大码渣

本文系统(linux)相关术语:linux系统 鸟哥的linux私房菜 linux命令大全 linux操作系统

tags: crontab,cron,user,配置,Linux,定时,服务,命令,代码,spool,status
分页:12
转载请注明
本文标题:Linux工具命令之crontab
本站链接:https://www.codesec.net/view/604978.html


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 系统(linux) | 评论(0) | 阅读(10)