今天在看linux的定时任务,了解了一下crontab命令,下面我们来一起学习一下。
首先要知道 crontab 文件的格式:
{minute} {hour} {day-of-month} {month} {day-of-week} {full-path-to-shell-script}
o minute: 区间为 0 – 59
o hour: 区间为0 – 23
o day-of-month: 区间为0 – 31
o month: 区间为1 – 12. 1 是1月. 12是12月.
o Day-of-week: 区间为0 – 7. 周日可以是0或7.
Crontab简单示例
1、在 凌晨00:01运行
1 0 * * * /home/linrui/XXXX.sh
2、每个工作日23:59都进行备份作业。
59 11 * * 1,2,3,4,5 /home/linrui/XXXX.sh
或者如下写法:
59 11 * * 1-5 /home/linrui/XXXX.sh
3、每分钟运行一次命令
*/1 * * * * /home/linrui/XXXX.sh
4、每个月的1号 14:10 运行
10 14 1 * * /home/linrui/XXXX.sh
Crontab命令的选项
以下是 crontab 的有效选项:
crontab –e : 修改 crontab 文件. 如果文件不存在会自动创建。
crontab –l : 显示 crontab 文件。
crontab -r : 删除 crontab 文件。
crontab -ir : 删除 crontab 文件前提醒用户。
下面我做了一个很小的例子,通过这个小例子我们可以了解到定时任务的创建和删除
1.编写shell脚本hello.sh:
这样我们的定时任务就建好了
接下来如果我们想要删除这个任务怎么办呢
增加了crontab任务后,在/var/spool/cron目录下会有一个当前登录账号命名的文件。比如我的登录账号是wyx。则会存在一个wyx文件。该文件的内容就是刚添加的crontab任务。
该处我们使用sed命令来处理/var/spool/cron/wyx 文件,将含hello.sh的行的内容删除掉。
输入命令:sed -i '/hello.sh/d' /var/spool/cron/wyx
可以查看任务 crontab -l 发现我们刚刚创建的任务没有了
有没有很简单呢,赶紧试试吧