完成了 Nginx 網站架設與 SSH 安全防護後,第九天要學習 Linux 維運自動化——「讓系統在半夜自動幫你備份網站與資料庫」。
結合 Shell Script(Bash 腳本) 與 Linux 內建的 Cron 排程系統,打造一個「自動化定時備份機制」。
Shell Script 基礎:撰寫自動化備份腳本
在 Linux 中,我們可以將一連串的指令寫進 .sh 檔案中,讓系統依序執行。

Cron 排程系統:語法速查表
Linux 內建的 cron 服務能讓我們指定指令執行的「精確時間」。時間欄位由 5 個空格分隔的欄位組成:
* * * * * 要執行的指令
│ │ │ │ │
│ │ │ │ └── 星期 (0 - 7) (0 和 7 都代表週日)
│ │ │ └───── 月份 (1 - 12)
│ │ └──────── 日期 (1 - 31)
│ └─────────── 小時 (0 - 23)
└────────────── 分鐘 (0 - 59)
常用 Cron 時間範例:
| Cron 時間設定 | 執行時機說明 |
|---|---|
| ***** | 每分鐘 執行一次(適合測試驗證) |
| 0 2 * * * | 每天凌晨 02:00 執行一次(常用於例行備份) |
| 0 3 * * 1 | 每週一凌晨 03:00 執行一次 |
| */15 * * * * | 每隔 15 分鐘 執行一次 |