linux crontab用法

cron是linux内置的系统服务,循环执行的例行任务,控制装个循环执行的例行任务的命令就是crontab,crontab设置格式都是六列。

一、crontab格式:

f1  f2  f3  f4  f5   program 

分 时  日 月  周  程序

f1:分钟(0-60)

f2:小时 (0-23)   

f3:一个月份中的第几日 (1-31)   

f4:月份(1-12)

f5:一个星期中的第几天(1-7)。周日比较有趣,使用7或者0都可以,都是星期天。

f6:要运行的程序

说明:周和日不能同时并存使用,可以分别以周或者是日月为单位作为循环执行任务,但不可使用“几月几号且为星期几”,如

30 12 11 9 5 program 这个写法是不对的

#晚上11点到早上8点之间每两个小时:
0 23-7/2,8 * * * program 


二、辅助的四个字符:

特殊字符代表意义
*(星号)代表任何时刻都接受的意思!举例来说,f1为 * ,就代表著任何分钟都运行命令的意思
,(逗号)代表分隔时段的意思。举例来说,如果要执行的工作是 3:00 与 6:00 时,就会是:
0 3,6 * * * command
时间参数还是有五栏,不过第二栏是 3,6 ,代表 3 与 6 都适用!
-(减号)代表一段时间范围内,举例来说, 8 点到 12 点之间的每小时的 20 分都进行一项工作:
20 8-12 * * * command
仔细看到第二栏变成 8-12 喔!代表 8,9,10,11,12 都适用的意思!
/n(斜线)那个 n 代表数字,亦即是『每隔 n 单位间隔』的意思,例如每五分钟进行一次,则:
*/5 * * * * command
用 * 与 /5 来搭配,也可以写成 0-59/5 ,意思相同
f2的每个小时 * 也可以写作*/1 ,/1通常省略了

当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,以此类推。

三、具体用法

3.1、指定用户crontab -u user 只有root用户权限给别的用户设置或删除定时任务。如果未指定用户,就是当前用户自己的定时任务。 

3.2、crontab -e 编辑

a、crontab -e直接进入编辑页面,使用VI编辑器,每个任务都是独立一行,不可跨行。

b、crontab -e这个方法编辑的配置,系统会自动加载,不需要重启服务。

c、crontab  默认的编辑器是VI,如果当前用户的默认编辑器不是VI,需要设置环境变量:

  #Set EDITOR
  EDITOR=/usr/bin/vi
  export EDITOR

d、也可以直接进到/var/spool/cron/crontabs编辑,需要重新启动CRON服务。如果没重启,还是执行老的配置文件。

方式1:/etc/init.d/crond restart
方式2:service crond restart

e、crontab -e 选项会在/tmp下创建名为crontabXXXXXX的临时文件,虽然别人没有访问权限,但还是为系统上其他用户创造了

        攻击的条件。建议:

crontab -l > mycron.txt把crontab把crontab配置输出到mycron.txt文件中
vi mycron.txt 编辑mycron.txt文件
crontab < mycron.txt 执行最新的配置文件


3.3、crontab -l 查看当前用户的定时任务,如

0 2 1 * 0,4 /opt/task/DB/autodel.sh 

23 05 * * * /opt/task/DB/test.sh >/tmp/task/test.log 把日志重定向输出到test.log 

建议最好使用绝对路径


3.4、crontab -r 删除当前用户的所有定时任务




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值