Red Hat Training
A Red Hat training course is available for Red Hat Satellite
3.3. 自動備份
備份工作可自動化,如此一來它們便可在非巔峰的時間進行,例如半夜或凌晨。這亦可確保它們能時常進行,而不會被遺忘。最有效率的自動化備份方式,就是透過
cron
。
過程 3.3. 自動化備份
請建立一個名為
backup-db.sh
的新檔案,並包含下列 script。此 script 將會停用衛星伺服器,執行一項資料庫備份,並重新啟動衛星伺服器。
#!/bin/bash { /usr/sbin/rhn-satellite stop su - oracle -c' d=db-backup-$(date "+%F"); mkdir -p /tmp/$d; db-control backup /tmp/$d '; /usr/sbin/rhn-satellite start } &> /dev/null
- 請建立一個名為
move-files.sh
的新檔案,並包含下列 script。此 script 將會使用rsync
來將備份檔案移至一個目錄中,以進行儲存:#!/bin/bash rsync -avz /tmp/db-backup-$(date "+%F") [destination] &> /dev/null
請將 [destination] 替換為備份目錄的路徑。此外,下列 script 使用了scp
來達到相同的目的:#!/bin/bash scp -r /tmp/db-backup-$(date "+%F") [destination] &> /dev/null
- 切換為 root 使用者,並在文字編輯器中開啟
crontab
:crontab -e
注意
crontab
就預設值會在 vi 中開啟。若要更改此特性,請將EDITOR
變數更改為您希望使用的文字編輯器名稱。 - 請使用
crontab
中的前五個欄位(分、時、日、月,與星期)來排程備份 script 以執行:0 3 * * * backup-db.sh 0 6 * * * move-files.sh
此crontab
項目將會於 03:00 執行備份,並在 06:00 傳輸備份檔案。其它選項亦可視需求加入。您亦可包含一份清除 script,以移除較舊的備份目錄,並避免備份儲存空間滿出。 - 若要儲存
crontab
,只要退出文字編輯器即可。新的cron
規則將會即刻生效。