Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> 電腦軟體教學 >> 伺服器技術 >> 關於伺服器

VPS自動化備份腳本實戰:lftp+定時任務,資料零遺失

編輯:關於伺服器

前言:備份是VPS生存底線

VPS商家不提供每日備份,數據遺失風險自擔。本文分享生產環境驗證的Shell腳本,結合 lftp 實現網站檔案+MySQL雙備份、本地保留3天、自動上傳FTP/免費空間(如GoDaddy 10GB)。

環境準備

  • 安裝lftp:CentOS yum install lftp / Debian apt-get install lftp
  • 建立目錄:VPS /home/backup/,FTP端 backup/
  • 腳本放置:/root/backup.sh,權限 chmod +x

核心配置區塊(按需修改)

# 備份網站目錄(最多4個,可擴展)
Backup_Dir1=vpser.net
Backup_Dir2=lnmp.org
...

# MySQL帳密(建議root權限)
MYSQL_UserName=root
MYSQL_PassWord=yourmysqlrootpassword

# 備份資料庫(對應數量)
Backup_Database_Name1=vpser
Backup_Database_Name2=licess
...

# FTP憑證
FTP_HostName=184.168.192.43
FTP_UserName=vpsernet
FTP_PassWord=yourftppassword
FTP_BackupDir=backup

備份邏輯解析

  1. 網站打包:tar zcf /home/backup/www-$Dir-$(date +%Y%m%d).tar.gz -C /home/wwwroot/ $Dir --exclude=排除目錄,支援排除臨時目錄(如soft、test)。
  2. 資料庫導出:mysqldump -u$User -p$Pass $DB > /home/backup/db-$DB-$(date +%Y%m%d).sql。
  3. 本地清理:刪除3天前備份(rm www-*-$(date -d -3day +%Y%m%d).tar.gz 等)。
  4. lftp自動上傳:連接FTP → 切換目錄 → 刪除遠端3天前檔 → 上傳今日備份 → 斷開。lftp支援批次命令(mrm/mput),極其高效穩定。

定時執行部署

crontab -e
# 每日凌3點執行
0 3 * * * /root/backup.sh

專家補充

  • 資料庫不多時,GoDaddy免費空間(綁域名)極具性價比。
  • 腳本變數採用日期動態命名,天然支援多版本留存。
  • 排除目錄參數 --exclude 避免備份垃圾檔案,節省空間與傳輸時間。
  • 生產環境建議加入備份完成郵件通知或日誌記錄,便於審計。

下載地址

完整腳本:https://soft.vpser.net/lnmp/backup.sh

Copyright © Windows教程網 All Rights Reserved