Linux下计划任务和标准化工作流程(2)

 

特殊字符                           作用  
   *   表示任何每一个,Ex:* * * * *表示的就是每一min  
   -   表示一个范围,Ex:5-10 * * * * *表示第5到10分每min  
   ,   分割多个,Ex:5,6,7,10 * * *表示第5,6,7,10分四个时间点  
   /n   表示每隔n个时间 Ex:*/4 * * * * 表示每隔4min  

Ex:

* 23,00-07/1 * * * /usr/local/bin/apache/bin/apachectl graceful

这里很容易理解成为23-第二天7天每隔一小时重启一次apache服务。

由于秒的位置是*,实际结果是23-第二天7点每分钟重启一次apache服务。

正确的应该给分钟赋固定值

01 23,00-07/1 * * * /usr/local/bin/apache/bin/apachectl graceful

星期最好和日期不要同时用

1、日月为* *时候,只是星期生效,这时候取得时交集

2、日月有值的时候,日期和星期同时生效,取并集

01 05 28 * 6,7 /bin/bash /cron_scripts/backup_etc.sh >/dev/null 2>&1

备份脚本会在周六周日或者每月28号,凌晨5点1分执行

5、crontab标准化工作流程

 1、计划任务脚本指定存放位置,便于维护和定期备份

 2、写定时任务前必须在前面写注释,包括以下:

  添加计划任务的人,添加任务的时间,任务有效期,计划任务脚本的对象,脚本的作用,以及其他需要提醒其他注意的事项

 3、执行的脚本前加上/bin/bash或者/bin/sh,脚本必须使用完整的绝对路径

 4、定时任务,需要尽量避免标准输出和标准错误输出 结尾加上 >/dev/null 2>&1

   计划任务的标准输出和标准错误输出都会给root用户以邮件,很容易撑满磁盘消耗磁盘inode

 5、能用命令完成的也要写在脚本里

 6、在指定用户下执行相关的定时任务

 7、制定标准的书写规范

其他使用注意:

 环境变量问题:计划文物的脚本得环境变量需要在脚本重新定义,可以手动在脚本内加载环境变量的配置文件如

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/13661.html