首先,我们需要检查当前系统的日志文件状态。
sudo du -sh /var/log/*查看日志文件大小:
ls -lh /var/log/示例:编辑 logrotate 配置文件:
sudo nano /etc/logrotate.conf 示例:添加或修改配置项:
# /var/log/*.log {
# daily
# rotate 7
# compress
# delaycompress
# missingok
# notifempty
# }
# 添加特定日志文件的轮转配置
/var/log/syslog {
daily
rotate 7
compress
delaycompress
missingok
notifempty
}
/var/log/auth.log {
daily
rotate 7
compress
delaycompress
missingok
notifempty
}示例:测试 logrotate 配置:
sudo logrotate -d /etc/logrotate.conf 示例:手动运行 logrotate:
sudo logrotate /etc/logrotate.conf 示例:调整系统日志级别:
sudo nano /etc/rsyslog.conf 示例:调整日志级别:
# 将所有日志级别设置为 info
*.info;mail.none;authpriv.none;cron.none /var/log/messages
# 将 auth 日志级别设置为 notice
authpriv.* /var/log/secure示例:重启 rsyslog 服务:
sudo systemctl restart rsyslog示例:编辑 logrotate 配置文件:
sudo nano /etc/logrotate.conf 示例:启用压缩:
compress
delaycompress示例:创建新的日志文件存储目录:
sudo mkdir -p /mnt/logs 示例:将日志文件移动到新目录:
sudo rsync -av /var/log/ /mnt/logs/示例:更新 rsyslog 配置文件:
sudo nano /etc/rsyslog.conf 示例:更改日志文件路径:
*.info;mail.none;authpriv.none;cron.none /mnt/logs/messages
authpriv.* /mnt/logs/secure示例:重启 rsyslog 服务:
sudo systemctl restart rsyslog示例:编写脚本备份日志文件:
#!/bin/bash
# 定义备份目录
backup_dir="/mnt/backup/logs"
# 创建备份目录
mkdir -p $backup_dir
# 备份日志文件
tar -czf $backup_dir/$(date +%Y%m%d).tar.gz /var/log/
# 删除旧的备份文件(保留最近7天的备份)
find $backup_dir -type f -name "*.tar.gz" -mtime +7 -exec rm {} \;保存脚本并运行:
chmod +x backup_logs.sh
./backup_logs.sh 示例:使用 cron 定期运行备份脚本:
crontab -e添加以下行:
0 0 * * * /path/to/backup_logs.sh 原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。