首先,我们需要一个具有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
请记住,这只是一个基本的清理脚本,您可能需要根据您的具体需求和服务器配置对其进行调整。在执行任何清理操作之前,请确保已经备份了重要的日志文件,以免数据丢失。
定期清理服务器日志可以帮助您保持服务器的性能和安全性。通过使用上述