Linux之crond定时任务

 

 

1. 使用crontab工具配置的定时任务

2. 配置定时任务建议规范

3. 定时任务配置问题导致系统出现故障实例

 

 

 

 

 

 

 

 

 

 

1. 使用crontab工具配置的定时任务

名称
       crontab - 维护单个用户的crontab文件

用法
       crontab [-u user] [-l | -r | -e] [-i] [-s]

选项
-l    (list)查看crontab文件内容    crontab -l == cat /var/spool/cron/[user]
-e    (edit)编辑crontab文件内容    crontab -e == vim /var/spool/cron/[user]
-i    删除crontab文件内容,删除前会提示确认
-r    删除crontab文件内容
-u    指定使用的用户执行

补充说明
1. * * * * * 分别为 分(0-59) 时(0-23) 日(1-31) 月(1-12) 周几(0-6)

2. \%F    在定时任务配置中,%要用\转义

 

 

2. 配置定时任务建议规范

书写规范:
    ① 为定时任务规则加必要的注释
    ② 执行shell脚本任务前加/bin/sh,以执行权限执行文件
    ③ 定时任务命令或脚本结尾加
        >/dev/null 2>&1 或 &>/dev/null1>/dev/null 2>/dev/null
    ④ 定时任务命令或程序最好写到脚本里执行
    ⑤ 在指定用户下执行相关的定时任务
    ⑥ 生产任务程序不要随便打印输出信息
    ⑦ 定时任务执行的脚本要规范路径(例:/test/scripts)

调试建议:
    ① 增加执行任务频率调试任务
    ② 调整系统时间调试任务(个人环境进行)
    ③ 通过脚本日志输出调试定时任务
    ④ 注意:环境变量导致的定时任务故障(java)
    ⑤ 通过crond定时任务服务日志调试定时任务
    ⑥ 调试脚本用"sh -x 脚本", 打印输出脚本执行过程

 

 

3. 定时任务配置问题导致系统出现故障实例

故障问题:
    服务器上发生了No space left on device故障,df -h发现磁盘空间还有剩余,df -i发现文件系统inode占满,
这是由于系统内小文件过多导致的,其中一个可能原因就定时任务配置不规范 解析: centos5
/var/spool/clientmqueue centos6 /var/spool/postfix/maildrop 默认定时任务执行时会给root发邮件信息,如果邮件服务不开,就会把邮件存放到上述目录 当定时任务结尾不加&>dev/null的时候,上述目录就会存在大量的小文件,从而导致系统inode被占满 解决方法: 1. 清除邮件目录下的小文件 2. 检查系统内的定时任务配置是否缺少&>dev/null的重定向

 

posted @ 2019-01-24 15:53  糕事情  阅读(222)  评论(0编辑  收藏  举报