云服务器
云服务器一个简单的清理 linux 日志的脚本
2025-07-20 09:48  点击:0
服务器日志是系统运行状态的重要记录,但随着时间的推移,这些日志会占用大量的磁盘空间,并且可能包含敏感信息。为了保持服务器性能并保护数据安全,定期清理日志是非常必要的。下面是一个简单的清理脚本,可以帮助您清理Red Hat Enterprise Linux(RHEL)或CentOS服务器上的日志文件。

首先,我们需要一个具有root权限的用户来执行这些命令,因为它们涉及到删除和清空系统日志。请确保在执行以下命令之前,已经备份了重要的日志文件。

bash
!/bin/bash

# 清空/var/log目录下的日志文件
# 请注意,这将会删除所有指定的日志文件

# 清空所有日志文件
cat /dev/null \u003e /var/log/boot.log
cat /dev/null \u003e /var/log/btmp
cat /dev/null \u003e /var/log/cron
cat /dev/null \u003e /var/log/dmesg
cat /dev/null \u003e /var/log/firewalld
cat /dev/null \u003e /var/log/grubby
cat /dev/null \u003e /var/log/lastlog
cat /dev/null \u003e /var/log/mail.info
cat /dev/null \u003e /var/log/maillog
cat /dev/null \u003e /var/log/messages
cat /dev/null \u003e /var/log/secure
cat /dev/null \u003e /var/log/spooler
cat /dev/null \u003e /var/log/syslog
cat /dev/null \u003e /var/log/tallylog
cat /dev/null \u003e /var/log/wpa_supplicant.log
cat /dev/null \u003e /var/log/wtmp
cat /dev/null \u003e /var/log/yum.log
cat /dev/null \u003e /var/log/tuned/tuned.log

# 删除/var/log目录下的旧日志文件
rm -f /var/log/-20 \u003e/dev/null 2\u003e\u00261

# 清理anaconda日志(如果存在)
if [ -d '/var/log/anaconda/' ]; then
cat /dev/null \u003e /var/log/anaconda/anaconda.log
cat /dev/null \u003e /var/log/anaconda/ifcfg.log
cat /dev/null \u003e /var/log/anaconda/journal.log
cat /dev/null \u003e /var/log/anaconda/packaging.log
cat /dev/null \u003e /var/log/anaconda/program.log
cat /dev/null \u003e /var/log/anaconda/storage.log
cat /dev/null \u003e /var/log/anaconda/syslog
cat /dev/null \u003e /var/log/anaconda/X.log
fi

# 清理审计日志(如果存在)
if [ -d '/var/log/audit/' ]; then
rm -f /var/log/audit/audit.log \u003e/dev/null 2\u003e\u00261
cat /dev/null \u003e /var/log/audit/audit.log
fi

# 清理个人历史记录文件
cat /dev/null \u003e ~/.bash_history
cat /dev/null \u003e ~/.mysql_history
cat /dev/null \u003e ~/.viminfo

# 清除命令历史
history -c


请记住,这只是一个基本的清理脚本,您可能需要根据您的具体需求和服务器配置对其进行调整。在执行任何清理操作之前,请确保已经备份了重要的日志文件,以免数据丢失。

定期清理服务器日志可以帮助您保持服务器的性能和安全性。通过使用上述