简介在Linux系统下如何定时清除日志,避免因日志文件过大而占满磁盘空间导致系统崩溃。对于正在写入的文件尽量不要直接交文件删除,否则并不会真正空出磁盘空间。###手动清除将`/dev/在Linu
简介 在Linux系统下如何定时清除日志,避免因日志文件过大而占满磁盘空间导致系统崩溃。对于正在写入的文件尽量不要直接交文件删除,否则并不会真正空出磁盘空间。### 手动清除将 `/dev/
在Linux系统下如何定时清除日志,避免因日志文件过大而占满磁盘空间导致系统崩溃。
对于正在写入的文件尽量不要直接交文件删除,否则并不会真正空出磁盘空间。
手动清除
将 /dev/null 写入到 所需要清理的日志文件。
cat /dev/null > /var/log/boot.logcat /dev/null > /var/log/btmpcat /dev/null > /var/log/croncat /dev/null > /var/log/dmesgcat /dev/null > /var/log/firewalldcat /dev/null > /var/log/grubbycat /dev/null > /var/log/lastlogcat /dev/null > /var/log/mail.infocat /dev/null > /var/log/maillogcat /dev/null > /var/log/messagescat /dev/null > /var/log/securecat /dev/null > /var/log/spoolercat /dev/null > /var/log/syslogcat /dev/null > /var/log/tallylogcat /dev/null > /var/log/wpa_supplicant.logcat /dev/null > /var/log/wtmpcat /dev/null > /var/log/yum.log
利用 crontab 定时清理日志文件
将上面命令写成一个脚本,让定时任务去执行该脚本。
$ vim /usr/local/bin/clean-log.sh
编辑内容
按需添加或修改如下内容:
注解:sed 命令,清除前 50 行内容
echo 命令清空日志内容
rm 命令删除后缀以日期命名的日志文件
注意:以上日志清理并没有导致系统或者其他服务出错
#!/bin/bashecho \"开始清除日志文件\"sed -i \'1,50d\' /var/log/cron #清除定时任务记录sed -i \'1,50d\' /var/log/xferlog #清除ftp记录sed -i \'1,50\' /var/log/mariadb/mariadb.log #清除数据库日志sed -i \'1,50d\' /var/log/secure #清除sshd信息sed -i \'1,50d\' /var/log/firewalldsed -i \'1,50d\' /var/log/httpd/access_logsed -i \'1,50d\' /var/log/httpd/ssl_access_logsed -i \'1,50d\' /var/log/httpd/ssl_error_logsed -i \'1,50d\' /var/log/httpd/ssl_request_logsed -i \'1,50d\' /var/log/messages #清除系统开机发生的错误sed -i \'1,50d\' /var/log/tuned/tuned.logsed -i \'1,50d\' /var/log/hawkey.logsed -i \'1,50d\' /var/log/yum.logsed -i \'1,50d\' /var/log/dnf.logsed -i \'1,50d\' /var/log/dnf.rpm.logsed -i \'1,50d\' /var/log/ntp.logsed -i \'1,50d\' /var/log/audit/audit.loghistory -c #清除历史执行命令echo > /var/log/wtmp #清除系统登录成功的记录echo > /var/log/btmp #清除系统登录失败的记录echo > /var/log/lastlogrm -fr /var/log/boot.log-* /var/log/btmp-* /var/log/cron-* /var/log/maillog-* /var/log/messages-* /var/log/secure-* /var/log/spooler-* /var/log/xferlog-* /var/log/messages-* /var/log/multi-nic-util/*rm -fr /var/log/httpd/access_log-* /var/log/httpd/error_log-* /var/log/httpd/ssl_access_log-* /var/log/httpd/ssl_error_log-* /var/log/httpd/ssl_request_log-*
设置定时任务
$ crontab -e
设置每天清理
0 0 */30 * * /usr/local/bin/clean-log.sh
本文内容由互联网用户自发贡献,该文观点仅代表作者本人,本站仅供展示。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 97552693@qq.com 举报,一经查实,本站将立刻删除。