Crond 定时清理日志

1、检查cron状态

systemctl status crond

2、常见日志文件

日志文件 说明
/var/log/messages 一般包括整体系统信息,其中也包含系统启动期间的日志。此外 mail,cron,daemon,kern 和 auth 等内容也记录在 /var/log/messages 日志中。
/var/log/boot.log 包含系统启动时的日志。
/var/log/daemon.log 包含各种系统后台守护进程日志信息。
/var/log/dpkg.log 包括安装或dpkg命令清除软件包的日志。
/var/log/kern.log 包含内核产生的日志,有助于在定制内核时解决问题。
/var/log/lastlog 记录所有用户的最近信息。这不是一个ASCII文件,因此需要用lastlog命令查看内容。
/var/log/maillog,/var/log/mail.log 包含来着系统运行电子邮件服务器的日志信息。 注意:如,sendmail 日志信息就全部送到这个文件中。
/var/log/user.log 记录所有等级用户信息的日志。
/var/log/alternatives.log 更新替代信息都记录在这个文件中。
/var/log/btmp 记录所有失败登录信息。使用last命令可以查看btmp文件。例如,last -f /var/log/btmp | more
/var/log/wtmp 记录当前正在登录和历史登录系统的用户信息,默认由last命令查看 last -n 5 /var/log/wtmp
/var/log/cron 每当cron进程开始一个工作时,就会将相关信息记录在这个文件中。
/var/log/secure 包含验证和授权方面信息。例如,sshd会将所有信息记录(其中包括失败登录)在这里。
/var/log/faillog 包含用户登录失败信息。此外,错误登录命令也会记录在本文件中。
/var/log/samba 包含由Samba存储的信息
/var/log/dmesg 和系统启动相关

3、创建要执行的shell脚本

vim /home/cleanup_log.sh
#! /bin/bash
# 清空日志文件 可以释放空间
cat /dev/null > /var/log/messages;

del-30-days-ago-log.sh

  • find 对应目录 -mtime +天数 -name “文件名” -exec rm -rf {} ;
#! /bin/bash
# 删除30天前日志文件
find /opt/soft/log/ -mtime +30 -name "*.log" -exec rm -rf {} ;

4、打开 Cron 任务编辑页面

crontab -e

5、编辑定期任务

0 0 ? * Sun /home/cleanup_log.sh >> /home/cronlogs/cronlog.log 2>&1
  • 0 0 ? * Sun // 每周日00:00:00执行一次
  • /home/cleanup_docker.sh // 执行的shell脚本根路径
  • s="default">

    /home/cronlogs/cronlog.log 2>&1 // 将日志文件打印到指定文件(可以不要)

要每天凌晨1点执行清理脚本

#crontab -e
0 1 * * * /opt/soft/log/del-7-days-ago-log.sh >/dev/null 2>&1


作者:Jeebiz  创建时间:2024-10-21 20:31
最后编辑:Jeebiz  更新时间:2024-11-01 12:20