Debian Nginx日志备份常用方法如下:
logrotate工具(推荐)
sudo apt-get install logrotate
/etc/logrotate.d/nginx
,设置切割频率(如daily
)、保留天数(如rotate 7
)、压缩(compress
)等参数,示例:/var/log/nginx/*.log {
daily
rotate 7
compress
missingok
notifempty
create 0640 nginx nginx
postrotate
kill -USR1 `cat /var/run/nginx.pid`
endscript
}
cron
定时任务自动运行(默认/etc/cron.daily/logrotate
)。Shell脚本+定时任务
backup_nginx.sh
,使用tar
压缩日志并移动到备份目录,示例:#!/bin/bash
BACKUP_DIR="/backup/nginx"
DATE=$(date +%Y%m%d)
mkdir -p $BACKUP_DIR
tar -czvf $BACKUP_DIR/nginx_$DATE.tar.gz /var/log/nginx/*.log
rm -f /var/log/nginx/*.log
kill -USR1 $(cat /var/run/nginx.pid)
crontab -e
添加任务,如每天凌晨执行:0 0 * * * /path/to/backup_nginx.sh
。远程备份(可选)
scp
或rsync
命令,将备份文件传输到远程服务器,例如:scp /backup/nginx/*.tar.gz user@remote-server:/path/to/backup/
。说明:logrotate
是系统原生工具,无需额外安装软件,适合自动化管理;Shell脚本更灵活,可定制备份逻辑(如保留更多历史日志)。均需确保Nginx用户对日志目录有读写权限。