我的测试人生........

Linux中定时任务的设置

上一篇 / 下一篇  2018-05-20 14:44:31 / 个人分类:Linux

1. crontab命令

1)查看定时任务列表

crontab -l

2)编辑设置定时任务

crontab -e(和使用vi编辑其他文件一样来修改crontab文件并退出。

 

2. 设置定时任务

定时任务配置语法:

分 时 日 月 周 要执行的命令 输出配置

时间配置中几个特殊符号的含义:

   * 代表取值范围内的数字(时间)
   / 代表”每”
   - 代表从某个数字(时间)到某个数字(时间)
   , 分开几个离散的数字(时间)


例子说明:

# 每分钟执行一次/bin/sh /data1/htdocs/test/mock.sh命令
*/1 * * * * /bin/sh /data1/htdocs/test/mock.sh >> $TIMER_ERROR_PATH/test.$(date +\%Y\%m\%d).log 2>&1

>> 表示追加(到文件中)

1 表示stdout标准输出,系统默认值是1,所以 ">/dev/null" 等同于 "1>/dev/null"

2 表示stderr标准错误

& 表示等同于的意思,2>&1,表示2的输出重定向等同于1

%在crontab中被认为是newline,要用\来escape才行。所以crontabdate +%Y%m%d",必须替换为:"date +\%Y\%m\%d"

整句的意思就是标准输出追加到$TIMER_ERROR_PATH/test.$(date +\%Y\%m\%d).log标准错误输出重定向到与标准输出一致$TIMER_ERROR_PATH/test.$(date +\%Y\%m\%d).log


# 每月1号零时零点执行/bin/sh /data1/htdocs/test/mock.sh命令
0 0 1 * * /bin/sh /data1/htdocs/test/mock.sh > /dev/null 2>&1

>表示重定向到新文件中,每次执行会覆盖

/dev/null 代表空设备文件

1 表示stdout标准输出,系统默认值是1,所以 ">/dev/null" 等同于 "1>/dev/null"

2 表示stderr标准错误

& 表示等同于的意思,2>&1,表示2的输出重定向等同于1

整句的意思就是标准输出重定向到空设备文件也就是不让系统记录返回错误和正确的信息,不产生日志


# 每小时执行两次,2分,32分执行/bin/sh /data1/htdocs/test/mock.sh命令
2,32 * * * * /bin/sh /data1/htdocs/test/mock.sh  >> /dev/null 2>&1

 【将标准输出和错误输出丢弃


# 每月一号,0点到6点,5分钟执行一次/bin/sh /data1/htdocs/test/mock.sh命令

*/5 0-6 1 * * /bin/sh /data1/htdocs/test/mock.sh >> /dev/null 2>&1

 


TAG:

 

评分:0

我来说两句

Open Toolbar