在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環境的基本流程。請根據實際需求調整腳本和定時任務。