问答
登录
充值
控制台
186****8524
退出
问答
问答首页
云计算
编程语言
网络安全
智能运维
大数据
深度学习
debian
Debian LNMP如何进行备份与恢复
小樊
40
2025-11-29 01:34:51
栏目:
智能运维
Debian LNMP 备份与恢复实操指南
一 备份范围与准备
备份范围建议覆盖:
Nginx 配置
、
网站文件
、
MariaDB/MySQL 数据库
、
PHP-FPM 配置
、可选的
日志与证书
。
准备与约定:
备份目录建议统一,如:
/opt/backup/
,并按天创建子目录。
数据库凭据建议使用**~/.my.cnf**方式避免明文密码出现在命令行历史。
为安全与一致性,数据库备份时建议短暂停止写入或使用事务一致性选项(如 InnoDB)。
二 手动备份步骤
Nginx 配置
建议先校验配置再备份,减少因配置错误导致服务异常的风险:
sudo nginx -t
备份命令示例:
sudo cp -a /etc/nginx /opt/backup/nginx-$(date +%F)
网站文件
常见路径为:
/var/www/
或
/var/www/html
,按需调整:
sudo cp -a /var/www /opt/backup/www-$(date +%F)
MariaDB/MySQL 数据库
单库备份(推荐):
mysqldump -u 用户名 -p 数据库名 > /opt/backup/db_数据库名-$(date +%F).sql
全库备份:
mysqldump -u root -p --all-databases > /opt/backup/full_db-$(date +%F).sql
压缩备份(可选):
gzip /opt/backup/*.sql
PHP-FPM 配置
备份当前 PHP 版本的 FPM 配置与池配置(请将
8.2
替换为你的实际版本):
sudo cp -a /etc/php/8.2/fpm /opt/backup/php-fpm-$(date +%F)
证书与日志(可选)
证书:sudo cp -a /etc/letsencrypt /opt/backup/letsencrypt-$(date +%F)
日志:sudo tar czf /opt/backup/logs-$(date +%F).tar.gz -C /var/log .
使用 .my.cnf 安全存放凭据(推荐)
创建文件:~/.my.cnf
[client]
user=root
password=你的密码
赋权:chmod 600 ~/.my.cnf
之后可直接执行:mysqldump --all-databases > backup.sql(无需在命令行暴露密码)。
三 自动备份脚本与定时任务
数据库备份脚本(/opt/backup/backup_mysql.sh)
示例(使用 ~/.my.cnf,无需在命令行写密码):
#!/bin/bash
BACKUP_DIR=“/opt/backup/mysql”
DATE=$(date +“%Y%m%d%H%M%S”)
mkdir -p “$BACKUP_DIR”
mysqldump --single-transaction --routines --triggers --default-character-set=utf8mb4 --all-databases > “$BACKUP_DIR/full-$DATE.sql”
gzip “$BACKUP_DIR/full-$DATE.sql”
find “$BACKUP_DIR” -type f -name “*.sql.gz” -mtime +30 -delete
echo “[$DATE] MySQL backup finished.” >> “$BACKUP_DIR/backup.log”
赋权:chmod +x /opt/backup/backup_mysql.sh
Nginx 配置备份脚本(/opt/backup/backup_nginx.sh)
#!/bin/bash
BACKUP_DIR=“/opt/backup/nginx”
DATE=$(date +“%Y%m%d%H%M%S”)
mkdir -p “$BACKUP_DIR”
cp -a /etc/nginx “$BACKUP_DIR/nginx-$DATE”
gzip “$BACKUP_DIR/nginx-$DATE”
find “$BACKUP_DIR” -type f -name “nginx-*.tar.gz” -mtime +30 -delete
echo “[$DATE] Nginx config backup finished.” >> “$BACKUP_DIR/backup.log”
赋权:chmod +x /opt/backup/backup_nginx.sh
网站文件备份脚本(/opt/backup/backup_www.sh)
#!/bin/bash
BACKUP_DIR=“/opt/backup/www”
DATE=$(date +“%Y%m%d%H%M%S”)
mkdir -p “$BACKUP_DIR”
tar czf “$BACKUP_DIR/www-$DATE.tar.gz” -C /var/www .
find “$BACKUP_DIR” -type f -name “www-*.tar.gz” -mtime +30 -delete
echo “[$DATE] WWW backup finished.” >> “$BACKUP_DIR/backup.log”
赋权:chmod +x /opt/backup/backup_www.sh
定时任务(crontab -e)
每天 02:00 数据库、03:00 Nginx、04:00 网站文件:
0 2 * * * /opt/backup/backup_mysql.sh
0 3 * * * /opt/backup/backup_nginx.sh
0 4 * * * /opt/backup/backup_www.sh
说明
保留策略示例为
30 天
,可按需调整为
7 天
或更长。
建议在脚本中加入日志与错误检查,便于排障与审计。
四 恢复步骤
恢复 Nginx 配置
建议先备份当前配置,再覆盖恢复:
sudo cp -a /etc/nginx /etc/nginx.bak-$(date +%F)
sudo rm -rf /etc/nginx/*
sudo cp -a /opt/backup/nginx-YYYY-MM-DD/* /etc/nginx/
sudo nginx -t && sudo systemctl reload nginx
恢复网站文件
视情况先备份现有目录:
sudo cp -a /var/www /var/www.bak-$(date +%F)
sudo rm -rf /var/www/*
sudo tar xzf /opt/backup/www-YYYY-MM-DD.tar.gz -C /
恢复 MariaDB/MySQL
建议先启动数据库服务并运行安全初始化(如首次恢复):
sudo systemctl start mariadb
sudo mysql_secure_installation
恢复全库或单库:
全库:mysql -u root -p < /opt/backup/mysql/full-YYYYMMDDHHMMSS.sql.gz
如为压缩包:zcat /opt/backup/mysql/full-YYYYMMDDHHMMSS.sql.gz | mysql -u root -p
单库:mysql -u 用户名 -p 数据库名 < /opt/backup/mysql/db_数据库名-YYYY-MM-DD.sql
恢复 PHP-FPM 配置
备份当前配置后覆盖恢复(将
8.2
替换为你的实际版本):
sudo cp -a /etc/php/8.2/fpm /etc/php/8.2/fpm.bak-$(date +%F)
sudo rm -rf /etc/php/8.2/fpm/*
sudo cp -a /opt/backup/php-fpm-YYYY-MM-DD/* /etc/php/8.2/fpm/
sudo systemctl restart php8.2-fpm
验证
检查服务状态:
sudo systemctl status nginx mariadb php8.2-fpm
查看错误日志定位问题:
sudo tail -n50 /var/log/nginx/error.log
sudo tail -n50 /var/log/mysql/error.log。
五 注意事项与最佳实践
一致性优先:数据库备份使用**–single-transaction**(InnoDB)避免锁表;大型数据库可分库/分表备份。
保留策略:至少保留
7–30 天
;关键业务建议增加
异地/离线
副本。
安全性:备份文件含敏感信息,设置
600
权限,存放于受限目录;传输到外部存储时使用
加密
。
版本与路径:恢复时确保
Debian
、
Nginx
、
MariaDB/MySQL
、
PHP
版本与路径一致;如版本不一致,先小范围验证兼容性。
定期演练:定期在测试环境进行
恢复演练
,校验备份可用性与完整性。
监控与告警:为备份任务添加
日志与告警
,一旦出现失败及时通知并排查。
0
赞
0
踩
看了该问题的人还看了
如何提升Debian LNMP稳定性
LNMP在Debian上的备份与恢复技巧
Debian LNMP如何备份与恢复
LNMP在Debian上的备份与恢复策略
Debian LNMP如何提高稳定性
LNMP在Debian上的备份策略是什么
Debian LNMP备份与恢复技巧
Debian LNMP环境如何进行备份与恢复
Debian LNMP如何进行数据备份与恢复
产品服务
云服务器
高防服务器
高防IP
裸金属服务器
专属宿主机
机柜租用
SSL证书
弹性IP
云硬盘
地区划分
香港服务器
美国服务器
德国服务器
日本服务器
帮助支持
帮助中心
网站备案
安全漏洞
关于我们
关于亿速云
客户案例
新闻资讯
加入亿速云
联系亿速云
行业资讯-文章归档
问答-问答归档