最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
centos lamp数据备份方法
时间:2026-06-07 09:48:47 编辑:袖梨 来源:一聚教程网
备份范围与总体思路

- 备份对象包括:网站文件(如 /var/www/html)、数据库(如 MySQL/MariaDB)、配置文件(如 /etc/httpd/、/etc/php.ini)。
- 备份方式建议:mysqldump 做逻辑备份,tar 做文件归档,rsync/scp 做本地/远程传输与增量同步,cron 做定时自动化。
- 策略建议:至少每周一次全量,必要时每日增量;实施多位置备份(本地+远程/云)并定期恢复演练验证可用性。
数据库备份与恢复
- 单库备份(推荐)
- 命令:
mysqldump -u 用户名 -p 数据库名 > backup_$(date +%F).sql
- 命令:
- 多库/全库备份(含存储过程/事件)
- 命令:
mysqldump -u 用户名 -p --databases 库1 库2 ... > backup_$(date +%F).sql - 或全库:
mysqldump -u 用户名 -p --all-databases --events --routines > backup_$(date +%F).sql
- 命令:
- 压缩备份(节省空间)
- 命令:
mysqldump -u 用户名 -p 数据库名 | gzip > backup_$(date +%F).sql.gz
- 命令:
- 恢复
- 未压缩:
mysql -u 用户名 -p 数据库名 < backup_$(date +%F).sql - 压缩:
gunzip < backup_$(date +%F).sql.gz | mysql -u 用户名 -p 数据库名
- 未压缩:
- 安全建议:避免使用 root 远程备份,创建最小权限备份专用账号;如开启 GTID,恢复时加上
--set-gtid-purged=OFF(视版本与复制拓扑而定)。
网站文件与配置备份
- 网站目录打包
- 命令:
tar -czvf web_$(date +%F).tar.gz -C /var/www/html .
- 命令:
- 配置与代码分离备份
- 命令:
tar -czvf config_$(date +%F).tar.gz /etc/httpd /etc/php.ini
- 命令:
- 远程同步(增量)
- 命令:
rsync -avz --delete /var/www/html/ 用户名@远程主机:/path/to/backup/
- 命令:
- 远程拷贝(一次性)
- 命令:
scp -P 22 web_$(date +%F).tar.gz 用户名@远程主机:/path/to/backup/
- 命令:
- 说明:以上路径为常见默认路径,实际以你的 LAMP 部署为准(如 DocumentRoot 可能在其他目录)。
自动化与远程备份脚本
- 本地全量+远程同步脚本示例(/usr/local/bin/backup_lamp.sh)
#!/usr/bin/env bashset -Eeuo pipefailBACKUP_DIR="/backup/$(date +%F)"MYSQL_USER="backup"MYSQL_PASS="YourStrongPass"DB_NAME="mydb"REMOTE_USER="backup"REMOTE_HOST="192.0.2.10"REMOTE_DIR="/data/backup"mkdir -p "$BACKUP_DIR"# 1) 数据库mysqldump -u"$MYSQL_USER" -p"$MYSQL_PASS" --single-transaction --routines --triggers "$DB_NAME" | gzip > "$BACKUP_DIR/db_$(date +%F).sql.gz"# 2) 网站文件tar -czvf "$BACKUP_DIR/web_$(date +%F).tar.gz" -C /var/www/html .# 3) 配置tar -czvf "$BACKUP_DIR/config_$(date +%F).tar.gz" /etc/httpd /etc/php.ini# 4) 远程同步rsync -avz --delete -e ssh "$BACKUP_DIR/" "$REMOTE_USER@$REMOTE_HOST:$REMOTE_DIR/"# 5) 保留最近7天find /backup -maxdepth 1 -type d -mtime +7 -exec rm -rf {} + - 定时任务(每天 02:00 执行)
- 命令:
0 2 * * * /usr/local/bin/backup_lamp.sh >> /var/log/backup.log 2>&1
- 命令:
- 安全建议:将 MySQL 密码写入
~/.my.cnf或采用 ~/.mylogin.cnf 以避免在命令行暴露;SSH 建议使用密钥登录替代口令。
恢复步骤与验证
- 数据库恢复
- 未压缩:
mysql -u 用户名 -p 数据库名 < db_YYYY-MM-DD.sql - 压缩:
gunzip < db_YYYY-MM-DD.sql.gz | mysql -u 用户名 -p 数据库名
- 未压缩:
- 网站文件恢复
- 命令:
tar -xzvf web_YYYY-MM-DD.tar.gz -C /var/www/html
- 命令:
- 配置恢复
- 命令:
tar -xzvf config_YYYY-MM-DD.tar.gz -C /
- 命令:
- 验证要点
- 检查 MySQL 能否正常登录并查询核心表;访问网站首页与关键功能;核对 Apache/PHP 配置是否生效;定期做恢复演练并校验数据一致性。
相关文章
- Google Chrome下载安装包下载过程中断后如何恢复 06-07
- 有道词典翻译语速调节教程 有道词典翻译语速调节方法介绍 06-07
- 智行火车票历史订单如何查看 智行火车票历史订单查看教程 06-07
- 飞书app扫码功能在哪 飞书扫一扫使用技巧 06-07
- 电视家浏览器怎么安装 06-07
- GitHub Copilot低成本使用方法如何实现?5步设置 06-07