解决方案
杀死僵死的 cron 进程并重新启动 anacron 进程。
例如:
$ ps -ef|grep cron root 17592 1 0 Mar11 ? 00:00:16 crond root 132079 232781 0 Mar31 ? 00:00:00 /bin/bash /usr/bin/run-parts /etc/cron.daily root 1320791 0 Mar31 ? 00:00:00 /usr/sbin/anacron -s oracle 264332 233472 0 06:37 pts/6 00:00:00 grep cron root 392965 132079 0 Mar31 ? 00:00:00 /bin/sh /etc/cron.daily/mlocate.cron root 392966 132079 0 Mar31 ? 00:00:00 awk -v progname=/etc/cron.daily/mlocate.cron progname {????? print progname ":\n"????? progname="";???? }???? { print; }
它应该如下所示
$ ps -ef|grep cron oracle 75374 61598 0 00:37 pts/2 00:00:00 grep cron root 387494 1 0 Jul07 ? 00:00:00 crond
监控服务器一天,查看它是否会轮换日志。
$ egrep "messages|audit" /var/lib/logrotate.status "/var/log/asmaudit.log" 2017-7-9 "/var/log/messages" 2017-7-9 "/var/log/audit.log" 2017-7-8
$ ls -ltr /var/log/audit* $ ls -ltr /var/log/mess* $ ls -ltr /var/log/asmau*
https://onitroad.com 更多教程
原因
cron.daily 作业被另一个 anacron 作业锁定。
我们可以在 ps 输出中看到 anacron 仍在运行并阻塞其他进程。
$ ps -ef|grep cron root 17592 1 0 Mar11 ? 00:00:16 crond root 132079 232781 0 Mar31 ? 00:00:00 /bin/bash /usr/bin/run-parts /etc/cron.daily root 232781 1 0 Mar31 ? 00:00:00 /usr/sbin/anacron -s oracle 264332 233472 0 06:37 pts/6 00:00:00 grep cron root 392965 132079 0 Mar31 ? 00:00:00 /bin/sh /etc/cron.daily/mlocate.cron root 392966 132079 0 Mar31 ? 00:00:00 awk -v progname=/etc/cron.daily/mlocate.cron progname {????? print progname ":\n"????? progname="";???? }???? { print; }
问题
Linux上的审核日志和消息文件未轮换。
/var/log/messages、/var/log/audit.log 和 /var/log/asmaudit.log 文件的轮换不会在操作系统级别发生。
$ ls -ltr /var/log/audit* -rw------- 1 root root 6145628 Mar 27 03:07 audit.log.6.gz -rw------- 1 root root 2979527 Mar 28 03:07 audit.log.5.gz -rw------- 1 root root 3797834 Mar 29 03:07 audit.log.4.gz -rw------- 1 root root 4283296 Mar 30 03:08 audit.log.3.gz -》 20天没有日志轮换 -rw------- 1 root root 96190 Apr 20 11:20 audit.log.2.gz -》 20天没有日志轮换 -rw------- 1 root root 387 Apr 22 12:16 audit.log.1.gz -rw------- 1 root root 507157 Jan 3 10:26 audit.log
$ ls -ltr /var/log/mess* -rw-r----- 1 root orarom 4324393 Mar 30 03:08 messages.4.gz -rw-r----- 1 root orarom 5240535 Mar 31 03:08 messages.3.gz -》 20天没有日志轮换 -rw-r----- 1 root orarom 96226018 Apr 20 11:20 messages.2.gz -》 20天没有日志轮换 -rw-r----- 1 root orarom 10463366 Apr 22 12:16 messages.1.gz -rw-r----- 1 root orarom 1555913366 Jan 3 10:26 messages
$ ls -ltr /var/log/asmau* -rw------- 1 root root 16248312 Apr 22 12:16 asmaudit.log.2.gz -rw------- 1 root root 74179752 Apr 22 12:16 asmaudit.log.1 -rw------- 1 root root 396961019 Jan 3 10:27 asmaudit.log
$ cat /var/lib/logrotate.status | grep mess "/var/log/messages" 2017-4-22
日期:2020-09-17 00:12:58 来源:oir作者:oir