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 @   草木物语  阅读(125)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示