定时任务

crond
atd  运行一次
anacron 非7*24运行的服务器

 

 

crond (软件包cronie)
查询是否安装    rpm -qa cronie
[root@VM_0_15_centos log]# rpm -lq cronie
/etc/cron.d
/etc/cron.d/0hourly
/etc/cron.deny
/etc/pam.d/crond
/etc/sysconfig/crond
/usr/bin/crontab
/usr/lib/systemd/system/crond.service
/usr/sbin/crond
/usr/share/doc/cronie-1.4.11
/usr/share/doc/cronie-1.4.11/AUTHORS
/usr/share/doc/cronie-1.4.11/COPYING
/usr/share/doc/cronie-1.4.11/ChangeLog
/usr/share/doc/cronie-1.4.11/INSTALL
/usr/share/doc/cronie-1.4.11/README
/usr/share/man/man1/crontab.1.gz
/usr/share/man/man5/crontab.5.gz
/usr/share/man/man8/cron.8.gz
/usr/share/man/man8/crond.8.gz
/var/spool/cron

 

系统的  定时任务 
  • /etc/cron.hourly
    /etc/cron.dayly
    /etc/cron.weekly
    /etc/cron.monthly
    系统会自动运行里面的内容    ,系统中毒的时候
    
    /etc/crontab                系统定时任务的配置文件之一

    /etc/cron.deny    定时任务的黑名单,不让哪些用户写
    /var/log/corn    定时任务的日志
  • 普通用户的定时任务
  • crontab -l     查看用户的定时任务
    crontab -e     编辑用户的定时列表
    实际存放在    /var/spool/cron/root    root是用户名root用户的定时任务
    -rw------- 1 root root 141 Dec 23 22:17 root

查看定时任务的状态

  1. 首先看crond有没有运行
    • /etc/init.d/crond status
    • ps -ef |grep crond
  2. 开机自启
    • chkonfig  |grep crond
  3. 2
  4. 3
  5. 4

系统定时任务+logroutate命令,完成对日志的切割    /定时轮询

/var/log/messages
/var/log/secure
/var/log/cron    

 

 

 

 定时任务

 分钟(0-59)  小时(0-23)  日期(1-31)  月份(1-12)  周几(0-6)  command

 

30   08  *  *  *  每天8:30

*  每

-  从哪来到哪去,间隔为1      00 7-11 * * * 七点到11点每小时运行

,  分割              00 7,8,9,1011 * * * 七点到11点每小时运行

/n  每隔10分钟

 

 在crintab -e 编写的时候,   %有特殊意义,默认为换行,要使用\转义

 

 

 故障案例

 定时任务中-命令或脚本结果(正确及错误)定向到黑洞(>/dev/null  2>&1 )或追加到文件中

 

>/dev/null  2>&1
=================
>/dev/null   2>/dev/null  
定时任务中 命令或脚本结果 没有定向到空文件中

1、邮件的软件没有开启,-----大量小文件堆积在 /var/spool/postfix/maildrop/  --------->   inode满了
                      [root@VM_0_15_centos cron]# /var/spool/postfix/maildrop/
2、邮件软件开启了--------------->定时任务会不断的给root用户发送邮件

#  you have new mail in /var/spool/mail/root

 [root@VM_0_15_centos cron]# /etc/init.d/postfix status

 

 

 

 

定时任务脚本的环境变量问题
  •  使用相对路径打包
    • cd  /
    • tar zcf  /tmp/ser-$(date +%F).tar.gz    etc/services  
  • 用户的定时任务中,默认存放在当前用户的家目录
  • 系统的定时任务,存放在根目录下 

 

  定时任务可识别的PATH  /bin  和/usr/bin

解决方法

  • 绝对路径  /sbin/ipconfig
  • 在脚本开头重新定义PATH    export PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/bin:/sbin

 

 

 

 

 

echo {1..50000000}.txt |xargs  touch

df -i

find / -type d -size +1M


rm 删除大量文件会报错

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2019-03-23 16:39  慕沁  阅读(147)  评论(0)    收藏  举报