在 Linux 系統管理中,定期備份資料是維護伺服器安全的關鍵步驟。使用 Python 自動化備份 搭配 YAML 配置檔與 crontab 排程,可以輕鬆設定備份來源、目標與日誌,讓新手也能快速上手,自動化備份流程完整可靠,減少人為操作失誤及資料遺失風險。
Python 自動備份基本流程
使用 Python 進行 Linux 資料備份,首先需確認系統已安裝 Python3,接著撰寫備份腳本,最後透過手動或排程方式執行。每步驟都可清楚了解備份來源與目標,並可記錄執行日誌,適合新手快速掌握自動化操作流程,避免遺漏重要資料。
| 指令 | 說明 |
|---|---|
python3 --version | 檢查是否已安裝 Python3。 |
sudo apt install python3 | Ubuntu/Debian 系統安裝 Python3。 |
sudo yum install python3 | CentOS/Rocky Linux 系統安裝 Python3。 |
nano backup.py | 建立並編輯 Python 備份腳本。 |
python3 backup.py | 執行備份腳本,產生備份目錄。 |
# 建立 backup.py 範例
import shutil
import datetime
source_folder = "/home/user/data" # 指定要備份的資料夾
backup_folder = "/home/user/backup" # 指定備份存放目錄
date = datetime.datetime.now().strftime("%Y-%m-%d")
destination = f"{backup_folder}/backup-{date}"
shutil.copytree(source_folder, destination) # 執行備份
print("Backup completed") # 顯示完成訊息
YAML 配置與進階排程
為了讓備份更靈活,可使用 YAML 配置檔指定來源資料夾、備份目錄及日誌檔,Python 腳本會自動讀取這些設定,並可搭配 crontab 設定自動排程,每天固定時間自動備份,減少手動操作。
| 檔案 | 用途說明 |
|---|---|
| backup_yaml.py | Python 主程式,讀取 YAML 配置自動備份並寫入日誌。 |
| config_backup.yaml | YAML 配置檔,設定來源、目標資料夾及日誌檔。 |
| backup.log | 日誌檔,紀錄每次備份執行時間與狀態。 |
# config_backup.yaml
source_folder: /var/www/html # 要備份的來源目錄
backup_folder: /backup/website # 備份儲存位置
log_file: /backup/backup.log # 日誌檔,記錄備份時間與狀態
# 安裝 Python3 與 PyYAML 套件
sudo apt install python3 -y # Ubuntu/Debian 安裝 Python3
pip3 install pyyaml # 安裝 PyYAML 套件
# 建立 Python 腳本 backup_yaml.py
nano backup_yaml.py
# 執行備份測試
python3 backup_yaml.py # 依 YAML 配置完成備份,並寫入日誌
# 設定 crontab 每天凌晨 2 點自動執行
crontab -e
0 2 * * * python3 /home/user/backup_yaml.py >> /home/user/backup.log 2>&1
FAQ 常見問題
Python 備份可以使用 YAML 配置嗎?
可以使用 YAML 配置檔指定來源資料夾、備份目錄及日誌位置。Python 腳本會自動讀取設定並執行備份,方便管理多個資料夾,並減少手動操作失誤,確保備份可靠。
如何將 Python 備份自動排程?
可使用 crontab 設定每天固定時間執行 Python 腳本。透過排程,自動備份資料夾並記錄日誌,提高維護效率,特別適合 Linux 伺服器日常運維。
Python 備份適合新手使用嗎?
非常適合。使用 YAML 配置搭配 Python 腳本,即可快速建立自動化備份流程,操作簡單直覺,容易理解備份來源與目標目錄,降低錯誤風險。
YAML 配置可以管理多個備份目錄嗎?
可以,在 YAML 檔中設定多個來源與目標目錄,Python 腳本可迴圈處理,實現多目錄自動備份,且保留日誌,方便追蹤執行狀態。
備份日誌可以自動生成嗎?
Python 腳本會自動建立並寫入日誌檔,每次備份完成都會紀錄執行時間與狀態,方便排錯及追蹤,確保備份流程透明可查。
如何測試 YAML 配置備份是否成功?
手動執行 Python 腳本即可測試備份,確認指定目錄是否建立新備份,並檢查日誌檔記錄內容是否正確,以確保 YAML 配置正確運作。
