linux crontab使用

1. crontab命令简介

crontab命令用于设置周期性被执行的指令,该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。每个用户可以拥有自己的crontab文件,同时,操作系统保存一个针对整个系统的crontab文件,该文件通常存放于/etc或者/etc之下的子目录中。crontab储存的指令通常被cron守护进程激活,cron守护进程是一个后台进程,按预定时间自动执行任务,每一分钟检查是否有预定的作业需要执行。

2. 修改crontab默认编辑器

在终端输入 select-editor,然后选择自己熟悉的编辑器

alexzhou@alexzhou:~$ select-editor
 
Select an editor.  To change later, run 'select-editor'.
  1. /bin/ed
  2. /bin/nano        <---- easiest
  3. /usr/bin/vim.basic
  4. /usr/bin/vim.tiny
 
Choose 1-4 [2]: 3

3. 查看当前用户定时任务
alexzhou@alexzhou:~$ crontab -l
no crontab for alexzhou

4. 编辑当前用户定时任务
alexzhou@alexzhou:~$ crontab -e
crontab: installing new crontab
alexzhou@alexzhou:~$ crontab -l
*/30 * * * * python /home/alexzhou/send_email.py

输入crontab -e会打开vim编辑窗口,输入上面命令,上面命令的意思是:每隔30分钟执行send_email.py程序一次。

5. crontab语法格式

格式如下:
f1 f2 f3 f4 f5 program
其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。值的范围分别对应0-59,0-23,1-31,1-12,0-7(0和7都代表星期天),任何一个字段中的一个星号都是一个通配符。如果第一个字段含有一个星号,那个作业每分钟运行一次,以此类推,第二个字段含有通配符那就是每小时执行一次。program 表示要执行的程式。
当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其余类推
当 f1 为 */n 时表示每 n 分钟执行一次,f2 为 */n 表示每 n 小时执行一次,其余类推
当 f1 为 a, b, c,… 时表示第 a, b, c,… 分钟要执行,f2 为 a, b, c,… 时表示第 a, b, c…个小时要执行,其余类推
下面是两个例子:
(1)每周六早上10点重启应用。

0 10 * * 6 sh /home/alexzhou/bin/restart_tuli.sh

(2)每周二和每月的初一,十五的早上2点钟,更新solr索引。
0 2 1,15 * 2 python /home/alexzhou/update_index.py


转载请注明来自:Alex Zhou,本文链接:http://codingnow.cn/unix/419.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值