在Debian系统上备份LNMP(Linux, Nginx, MySQL/MariaDB, PHP)数据主要包括备份Nginx配置、MySQL/MariaDB数据库以及PHP应用数据。以下是一个基本的备份步骤指南:
备份Nginx配置
- 停止Nginx服务:
sudo systemctl stop nginx
- 备份Nginx配置文件:
sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.backup sudo cp /etc/nginx/conf.d/* /etc/nginx/conf.d/backup/
- 重启Nginx服务:
sudo systemctl start nginx
备份MySQL/MariaDB数据库
- 登录到MySQL/MariaDB:
sudo mysql -u root -p
- 选择要备份的数据库:
USE 数据库名;
- 备份数据库:
mysqldump -u 用户名 -p 密码 数据库名 > /root/backup/mysqlbackup/数据库名_备份时间.sql
- 退出MySQL/MariaDB:
exit;
备份PHP应用数据
对于PHP应用数据,通常需要根据具体应用的数据存储方式进行备份。例如,如果使用的是WordPress,可以备份wp-content
目录下的文件。
- 备份WordPress数据:
sudo cp -r /var/www/html/wp-content /root/backup/wordpress_backup/
定时备份脚本
可以使用cron
来设置定时备份任务。以下是一个简单的备份脚本示例:
- 创建备份脚本:
sudo nano /root/backup_lnmp.sh
- 添加以下内容到脚本中:
#!/bin/bash # 备份Nginx配置 sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.backup sudo cp /etc/nginx/conf.d/* /etc/nginx/conf.d/backup/ # 备份MySQL/MariaDB数据库 mysqldump -u root -p 密码 数据库名 > /root/backup/mysqlbackup/数据库名_$(date +%Y%m%d%H%M).sql # 备份PHP应用数据(以WordPress为例) sudo cp -r /var/www/html/wp-content /root/backup/wordpress_backup/ # 压缩备份文件 tar -czvf /root/backup/backup_$(date +%Y%m%d%H%M).tar.gz /root/backup/ # 删除超过5分钟的备份文件 find /root/backup/mysqlbackup -name "*.sql" -mmin +5 -exec rm -rf {} \; find /root/backup/ -type f -name "backup_*.tar.gz" -mmin +5 -exec rm -rf {} \;
- 赋予脚本执行权限:
sudo chmod +x /root/backup_lnmp.sh
- 设置定时任务:
sudo crontab -e
添加以下行以每分钟运行一次备份脚本(根据需要调整时间间隔):
* * * * * /root/backup_lnmp.sh
以上步骤涵盖了在Debian系统上备份LNMP环境的基本流程。请根据实际需求调整脚本和定时任务。