linux中crontab的使用

linux中有两种定时任务:

1、at:一次性定时任务,仅执行一次就结束调度的命令;
2、crontab:周期性定时任务;

一、at的定时任务请参考:

https://blog.csdn.net/lxblxblx/article/details/118197475.

二、crontab:周期性定时任务(分、时、周、月、年)

   1、crontab的工作
权限:可以通过/etc/cron.allow和/etc/cron.deny进行用户限制,同时cron.allow比cron.deny的优先级高,会先查询cron.allow(存在时cron.den作用无效),再查询cron.deny
调度工作位置:crontab创建新的任务后,其会被记录到/var/spool/cron中,且以账户作为判别的。
   2、crontab的使用
crontab [-u user] [-l | -e | -r](只有root才能-u)
( -l:列出用户的时程表;-e:修改用户的时程表;-r:删除用户的时程表)
不使用-u,表示当前用户的时程表。
crontab -u 出现must be privileged to use -u,一般crontab -u user是指定user的时程表,但是当前用户要有权限去指定他人的时程表(比如root用户)

   例:
     1)查看当前用户定时任务:crontab -l
在这里插入图片描述
     2)查看某用户定时任务:contab -u 用户名 -l
仅有root用户可以看见所有用户的定时任务–有,即-u的执行权限,否则会报错“must be privileged to use -u”
在这里插入图片描述在这里插入图片描述

   3、crontab -e编辑定时任务任务
也可使用crontab -u 用户名 -e编辑某用户的定时任务),但需要对应权限;
在这里插入图片描述

编辑命令解析:
* * * * * command
分钟(0-59) 小时(0-23) 日期(1-31) 月份(1-12) 周(0-7) 命令
(周与日月不可同时存在)

特殊字符的使用
特殊字符代表意义
*代表每一度量(分、时等)任何时刻都执行;例:1 * * * * command表示每月每天每时的1分执行
,代表分隔时段的意思(m,n代表m和n的时间点,即m,n都适用);例:0 1,2 * * * command表示执行时间1:00与2:00
-代表一段时间范围内;例:0 1-3 * * * command表示执行时间1:00、2:00、3:00
/nn是数字,表示每隔n单位间隔的意思;例:*/2 * * * *command表示每隔两分钟执行一次
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值