ubuntu

如何在Ubuntu上备份LNMP数据

小樊
41
2025-08-15 10:33:20
栏目: 智能运维

在Ubuntu上备份LNMP(Linux+Nginx+MySQL+PHP)数据,可按以下步骤操作,涵盖数据库、配置文件及系统备份,并支持自动化:

一、数据库备份(MySQL)

使用mysqldump工具导出数据库为SQL文件,可压缩存储:

# 备份所有数据库  
mysqldump -u root -p --all-databases > /path/to/backup/mysql_all_$(date +%Y%m%d).sql  
# 备份单个数据库(如需指定)  
mysqldump -u root -p database_name > /path/to/backup/db_name_$(date +%Y%m%d).sql  
# 压缩备份文件(可选)  
gzip /path/to/backup/*.sql  

说明:需替换rootpassword及数据库名为实际信息,建议将脚本保存为backup_db.sh并赋予执行权限chmod +x

二、配置文件备份

备份Nginx和PHP关键配置文件:

# 备份Nginx配置  
sudo tar -czvf nginx_backup_$(date +%Y%m%d).tar.gz /etc/nginx/  
# 备份PHP配置(如php.ini)  
sudo tar -czvf php_backup_$(date +%Y%m%d).tar.gz /etc/php/  

说明:路径可根据实际安装位置调整,如Nginx配置可能在/etc/nginx/conf.d/

三、网站文件备份

备份Web根目录(如/var/www/html)及用户数据:

sudo tar -czvf website_backup_$(date +%Y%m%d).tar.gz /var/www/html/  

说明:若使用虚拟主机或多站点,需备份对应目录。

四、系统级备份(可选)

使用TimeshiftDeja Dup备份整个系统镜像:

# 安装Timeshift  
sudo apt install timeshift  
# 执行备份(选择RSYNC模式,指定备份路径)  
sudo timeshift --create --comments "LNMP System Backup"  

说明:适合全盘恢复,需预留足够磁盘空间。

五、自动化备份(Cron任务)

编写脚本整合上述备份步骤,通过crontab定时执行:

  1. 创建脚本/path/to/lnmp_backup.sh
#!/bin/bash  
# 备份数据库  
mysqldump -u root -p --all-databases > /backup/mysql_$(date +%Y%m%d).sql  
# 备份配置文件  
tar -czvf /backup/nginx_$(date +%Y%m%d).tar.gz /etc/nginx/  
tar -czvf /backup/php_$(date +%Y%m%d).tar.gz /etc/php/  
# 备份网站文件  
tar -czvf /backup/website_$(date +%Y%m%d).tar.gz /var/www/html/  
# 删除7天前备份(可选)  
find /backup -name "*.tar.gz" -mtime +7 -exec rm -f {} \;  
  1. 赋予执行权限并添加定时任务:
chmod +x /path/to/lnmp_backup.sh  
crontab -e  
# 添加以下行(每天凌晨3点执行)  
0 3 * * * /path/to/lnmp_backup.sh  

六、备份存储与验证

参考来源

0
看了该问题的人还看了