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用户对日志目录有读写权限。