linux crontab定时任务

本文介绍了crond服务的作用,crontab命令的选项、编辑任务文件的方法,以及如何使用星号、逗号和斜线来设置定时任务。涵盖crontab的基本操作和实战案例,包括crontab-e命令的使用和不同时间间隔表达式。
摘要由CSDN通过智能技术生成

1 crond服务

crondtab命令有crond服务支持。crond进程会定期检查是否有要执行的任务,如果有,则自动执行。

启动命令(重启)

service crond restart

开机自启动

chkconfig crond on

2 crondtab命令

2.1 crondtab选项说明

|字段|含义|
|-|-|-|
|-u user|用来设定某个用户的crontab服务,常见用户root|
|-e| 编辑某个用户的crontab文件内容,如果不指定用户,则为当前用户的crontab文件内容 |
|-l| 形式某用户的crontab文件内容,如果不指定用户,则为当前用户的crontab文件内容 |
|-r| 从 /var/spooll/cron 删除某用户的crontab文件,如果不指定用户,则为当前用户 |
|-i| 在删除crontab文件是,给出提示 |

2.2 编辑任务文件

crontab -e

星号含义

文件格式: 分钟 小时 天 月 星期(用*代替每隔位置)

字段含义范围
第1个 *一小时当中的第几分钟(minute)0~59
第2个 *一天当中的第几小时(hour)0~23
第3个 *一个月当中的第几天(day)1~31
第4个 *一年当中的第几个月(month)1~12
第5个 *一周当中的星期几(week)0~7(0和7均代表周日)
Crontab 表达式规则:
注:Linux中没有second,最小是miniute。
*    *    *    *    *
-    -    -    -    -
|    |    |    |    |
|    |    |    |    +----- 星期中星期几 (0 - 6) (星期天 为0)
|    |    |    +---------- 月份 (1 - 12)
|    |    +--------------- 一个月中的第几天 (1 - 31)
|    +-------------------- 小时 (0 - 23)
+------------------------- 分钟 (0 - 59)

特殊符号

* 星号:代表任何时间(每分钟/每天/每月…)

, 逗号:代表不连续时间

# 每天 8:05、12:05、17:05 执行
5 8,12,17***

- 中杠:代表连续时间

# 每 周一到周五,1:00 执行
0 1 ** 1-5

/ 正斜线:代表每隔多久执行一次

# 每 30分钟 执行
*/30****

当文件编辑完成后,任务就会保存在 /var/spool/cron目录中,每个用户的的定时任务用当前用户名进行区分,保存即生效。

2.3 crondtab常用案例综合

crontab -e
# 每天 8:05、12:05、17:05 执行
5 8,12,17***

# 每 周一到周五, 1:00 执行
0 1 ** 1-5

# 每 30分钟 执行
*/30****

# 每天 6点 每隔10分钟执行一次
*/10 6 ***

# 每天 11:55 执行一次
55 11 * * * 

3 任务编辑

编辑任务

crontab -e

bash

# 每分钟执行一次,输出写到/tmp/test.txt文件中
*/1 * * * * /bin/echo "666" >> /tmp/test.txt

python

# 每分钟执行一次,输出写到/tmp/pytest.txt文件中
*/1 * * * * source /etc/profile; python /tmp/my.py >> /tmp/pytest.txt 2>&1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

有勇气的牛排

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值