在Debian系统上备份LNMP(Linux, Nginx, MySQL/MariaDB, PHP)数据主要包括备份Nginx配置、MySQL/MariaDB数据库以及PHP应用数据。以下是一个基本的备份步骤指南:
sudo systemctl stop nginx
sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.backup
sudo cp /etc/nginx/conf.d/* /etc/nginx/conf.d/backup/
sudo systemctl start nginx
sudo mysql -u root -p
USE 数据库名;
mysqldump -u 用户名 -p 密码 数据库名 > /root/backup/mysqlbackup/数据库名_备份时间.sql
exit;
对于PHP应用数据,通常需要根据具体应用的数据存储方式进行备份。例如,如果使用的是WordPress,可以备份wp-content
目录下的文件。
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环境的基本流程。请根据实际需求调整脚本和定时任务。