CentOS LNMP环境备份恢复指南
/etc/nginx/目录,使用cp命令递归复制到备份路径(如/backup/nginx)。sudo cp -r /etc/nginx /backup/nginx_backup。mysqldump工具导出数据库(支持全库或单库),推荐添加--events参数避免事件表遗漏,并用gzip压缩减少体积。mysqldump -u root -p --all-databases --events | gzip > /backup/mysql_all_$(date +%F).sql.gz;mysqldump -u root -p 数据库名 --events | gzip > /backup/数据库名_$(date +%F).sql.gz。/var/www/html/(默认路径)或自定义目录(如/home/wwwroot/),使用tar命令压缩归档。sudo tar -czvf /backup/www_site.tar.gz /var/www/html/。backup.sh脚本,支持本地或FTP远程备份(需提前配置脚本中的FTP参数)。通过crontab设置定时任务,实现每日自动备份(如凌晨3点执行)。
操作步骤:
① 编辑当前用户的crontab:crontab -e;
② 添加定时任务(以backup.sh为例):0 3 * * * /root/lnmp/tools/backup.sh(脚本需提前赋予执行权限:chmod +x /root/lnmp/tools/backup.sh)。
sudo cp -r /backup/nginx_backup/nginx /etc/nginx/;sudo nginx -t;sudo systemctl restart nginx。gunzip /backup/mysql_all_20250918.sql.gz;mysql -u root -p < /backup/mysql_all_20250918.sql(执行后输入密码,等待导入完成)。tar命令解压备份文件到目标目录(如/var/www/html/):sudo tar -xzvf /backup/www_site.tar.gz -C /var/www/html/;sudo chown -R nginx:nginx /var/www/html/(若用户为apache则替换为对应用户)。backup.sh脚本中的备份路径、FTP参数等(与备份时一致);/root/lnmp/tools/backup.sh(具体参数参考脚本注释)。/backup分区)或远程服务器(如FTP、云存储),避免系统崩溃导致备份丢失。/backup目录+FTP远程目录),提升数据安全性。