linux crontab

 

Linux下的任务调度分为两类,系统任务调度和用户任务调度。
    系统任务调度:系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等。 
        在/etc/crontab文件,这个就是系统任务调度的配置文件。
    用户任务调度:用户定期要执行的工作,比如用户数据备份、定时邮件提醒等。
        用户可以使用 crontab 工具来定制自己的计划任务。
        在crontab 文件都被保存在/var/spool/cron目录中。其文件名与用户名一致

1.系统定时任务:例如清理系统日志,清理系统缓存   -->不过多的关注
    查询系统定时处理任务的路径:
        路径1:
            cd /etc/logrotate.d/        -->可以写定时任务
            less syslog 
        路径2:
            cat /etc/crontab   -->不推荐使用,但是可以看格式
        路径3:
             ls /etc/ | grep cron*
                 anacrontab
                 cron.d                 -->同路径2 ,可以写定时任务  
                 cron.daily
                 cron.deny              -->控制普通用户使用定时任务crontab
                 cron.hourly
                 cron.monthly
                 crontab
                 cron.weekly
2.用户的定时任务      -->关注重点

查看crontab服务状态:

service crond status

查看定时任务列表:

crontab -l

编辑定时任务:

vim /var/spool/cron/root

增加:

定时输出时间等信息到文件

*/2 * * * * echo `date` >> /opt/xc/test2.txt
*/1 * * * * echo `date` >> /opt/xc/test.txt
*/1 * * * * mpstat -P ALL >> /opt/xc/test.txt
*/1 * * * * free -m >> /opt/xc/test.txt

 

 查看最近的crontab执行情况:

tail -f /var/spool/mail/root

 

示例:删除一定时间前的日志文件

#!/bin/sh
path='/app/'
daynum='61'
find $path -mtime +$daynum -name "tesiro-log.log.202*" -exec rm -rf {} \;
find /app -name 'tesiro-log.log.2021-01*' -exec rm -rf {} \;

 


 

文章参考:https://www.cnblogs.com/ftl1012/p/crontab.html

 

posted @ 2020-12-11 11:34  草木物语  阅读(135)  评论(0)    收藏  举报