linux crontab工作日志,crontab定时任务详解

启用

service crond start

基本格式

#分 时 日 月 周

* * * * * command path

# 第1列表示分钟(0~59) 每分钟用"*"或者"*/1"表示

# 第2列表示小时(0~23)

# 第3列表示日期(1~31)

# 第4列表示月份(1~12)

# 第5列表示星期(0~6 0表示星期天)

示例

#表示每晚的21:30执行命令

30 21 * * * command

#表示每月的1号、10号、22号的4:45执行命令

45 4 1,10,22 * * command

#表示每天的18:00到23:00之间每隔30分钟执行命令

0,30 18-23 * * * command

#表示每周六的23:00执行命令

0 23 * * 6 command

#表示每小时执行命令

* */1 * * * command

#每天晚上23点到次日早上7点之间,每隔1小时执行命令

* 23-7/1 * * * command

# 每月4号与每周一到周三的11点执行命令

0 11 4 * 1-3 command

命令参数

# 指定执行用户

-u [user]

列出指定用户下的定时任务

-l [user]

#编辑指定用户下的定时任务

-e [user]

#删除指定用户下的定时任务

-d [user]

#指定crontab的目录

-c dirname

#删除目前的定时任务

-r

特殊字符(示例如上)

*(星号) 代表任何时候

,(逗号) 代表分隔时段的意思

-(减号) 代表一段时间范围内

/n(斜线) 代表每隔n单位时间间隔

注意事项

不可以使用几月几号且为星期几的模式,即周与日月不可同时并存。如下即为错误的写法:

30 12 11 9 5 command

& 后台执行命令

在前台运行某个任务时,终端被该任务占据,可以使用&命令把任务放到后台执行。

30 2 * * * php test.php &

2>&1 含义

先看一个例子:

0 2 * * * php test.php >/home/logs/test.log 2>&1 &

这个定时任务的意思就是在后台执行这条命令,并将错误输出2重定向到标准输出1,然后将标准输出1全部存到/home/logs/test.log文件中,并清空/home/logs/test.log日志文件。

这里的数字意思如下:

0 表示 键盘输入

1 表示 标准输出

2 表示 错误输出

上面的示例,我们也可以使用如下方式:

#将标准输出重定向/home/logs/test.log文件中,即输出内容不打印在屏幕上

0 2 * * * php test.php 1>/home/logs/test.log &

#将错误输出重定向/home/logs/test.log文件中

0 2 * * * php test.php 2>/home/logs/test.log &

#将错误输出重定向到标准输出,然后再标准输出重定向到/home/logs/test.log文件

0 2 * * * php test.php 1>/home/logs/test.log 2>&1 &

#以下两种方式代表的意思相同

0 2 * * * php test.php >/home/logs/test.log 2>&1 &

0 2 * * * php test.php 1>/home/logs/test.log 2>&1 &

日志记录

crontab的运行日志记录在“/var/log/cron”文件中

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值