在 Ubuntu 的 LNMP(Linux + Nginx + MySQL/MariaDB + PHP) 环境下,备份通常包括 网站文件 和 数据库 两部分。下面给你一套实用、可操作的备份方案。
一般网站目录在:
/var/www/
# 或
/home/www/
tar -czvf /backup/www_$(date +%F).tar.gz /var/www
tar -xzvf www_2026-01-21.tar.gz -C /
备份单个数据库
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
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 一键安装包:
cd /root/lnmp1.x
./backup.sh
备份位置:
/home/backup/
包含:
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
chmod +x /root/backup.sh
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 天备份
✅ 定期测试恢复
如果你愿意,我可以:
你现在是 手动备份 还是 想做自动备份?