温馨提示×

ubuntu lnmp 如何备份数据

小樊
43
2026-10-24 15:02:01
栏目: 智能运维

在 Ubuntu 的 LNMP(Linux + Nginx + MySQL/MariaDB + PHP) 环境下,备份通常包括 网站文件 和 数据库 两部分。下面给你一套实用、可操作的备份方案。


一、备份网站文件(Nginx 站点目录)

一般网站目录在:

/var/www/
# 或
/home/www/

1. 手动打包备份

tar -czvf /backup/www_$(date +%F).tar.gz /var/www

2. 恢复网站文件

tar -xzvf www_2026-01-21.tar.gz -C /

二、备份 MySQL / MariaDB 数据库

1. 使用 mysqldump 备份(推荐)

备份单个数据库

mysqldump -u root -p dbname > /backup/dbname_$(date +%F).sql

备份所有数据库

mysqldump -u root -p --all-databases > /backup/all_db_$(date +%F).sql

压缩备份(更省空间)

mysqldump -u root -p dbname | gzip > /backup/dbname_$(date +%F).sql.gz

2. 恢复数据库

mysql -u root -p dbname < dbname_2026-01-21.sql

如果是 .sql.gz:

gunzip < dbname_2026-01-21.sql.gz | mysql -u root -p dbname

三、LNMP 一键包用户(常用)

如果你用的是 LNMP 一键安装包:

cd /root/lnmp1.x
./backup.sh

备份位置:

/home/backup/

包含:

  • 网站文件
  • 数据库
  • 配置文件

四、自动定时备份(cron)

1. 编写备份脚本

nano /root/backup.sh

示例:

#!/bin/bash
DATE=$(date +%F)
mysqldump -u root -p密码 dbname | gzip > /backup/db_$DATE.sql.gz
tar -czvf /backup/www_$DATE.tar.gz /var/www

2. 添加执行权限

chmod +x /root/backup.sh

3. 加入定时任务

crontab -e

每天凌晨 2 点备份:

0 2 * * * /root/backup.sh

五、重要配置文件备份(建议)

/etc/nginx/
/etc/mysql/
/etc/php/

示例:

tar -czvf /backup/nginx_conf_$(date +%F).tar.gz /etc/nginx

六、备份安全建议

✅ 备份文件不要放在网站目录
✅ 定期拷贝到异地(OSS / 云盘 / 另一台服务器)
✅ 保留 7~30 天备份
✅ 定期测试恢复


如果你愿意,我可以:

  • 给你一份 完整 LNMP 自动备份脚本
  • 教你 用 rsync 同步到远程服务器
  • 或针对 WordPress / Typecho / Laravel 专项备份

你现在是 手动备份 还是 想做自动备份?

0 踩