當前位置:才華齋>IT認證>Linux認證>

Linux系統下本機資料的自動備份

Linux認證 閱讀(3.23W)

我們可以手工備份資料,但是每天定時做這些操作可能比較繁瑣。當然,Linux為我們提供了強大的工具來進行自動備份。這就是cron。

Linux系統下本機資料的自動備份

cron是一個後臺程序,一旦啟動,將根據自己的配置檔案定時地執行任務。我們可以編寫一個shell指令碼檔案來進行檔案備份,然後讓cron定時地啟動這個指令碼檔案來對資料進行備份。

例如,我們每天備份/home/html目錄下的所有的檔案到/home/admin/backup/backup_xxxx目錄下,xxxx代表備份的日期。這個工作,可以編寫一個如下的shell指令碼來進行:

#!/bin/sh

cd /home/admin/backup

year=`date +%Y`

month=`date +%m`

day=`date +%d`

now=$year-$month-$day

mkdir backup_$now

tar zcvf backup_$now/ /home/html

這個指令碼在備份資料的時候,自動讀取系統日期,然後以系統當前的日期建立一個新的目錄,將備份的資料打包壓縮放在這個目錄中。我們可以在系統中通過執行:$sh ,完成備份工作。如果鍵入:$chmod +x ,可以將設定為可執行。這樣,我們就可以直接通過鍵入$./來執行備份指令碼檔案了。一般情況下,我們希望在系統負載不是最大的時候來進行資料備份。通常,我們可以選擇每天的凌晨3:00來進行資料備份(這段時間,你的服務器訪問的人數應該最少吧?)。把一切工作交給 cron吧。 cron啟動以後,它檢查/var/spool/cron/目錄中的配置檔案來找到所要執行的任務和執行任務的時間,依據這些設定在規定的時間執行規定的任務。

這個任務配置檔案可以由crontab -e 命令來編輯。

格式為每行代表一個任務和規定的執行時間。

每行由6個域組成:

分鐘小時每月的天月星期命令

上述6個域之間用空格或Tab分開,其中:

分鐘:分鐘域,值的範圍是0到59

小時:小時域,值的.範圍是0到23

每月的天:日期,值的範圍是1到31

月份:月份,值的範圍是1到12

星期:星期,值的範圍是0到6,星期日值為0 命令。

所要執行的命令特別的,如果一個域是‘*’,表明命令可以在該域所有可能的取值範圍內執行。如果一個域是由連字元隔開的兩個數字,表明命令可以在兩個數字之間的範圍內執行(包括起止兩個數字本身)。如果一個域是由逗號隔開的一系列值組成的,表明命令可以在這些值組成的範圍內執行。現在,我們編寫一個檔案,用以在每天的凌晨3:00啟動備份shell程式。

鍵入:crontab -e 命令,

然後輸入: 0 3 * * * 輸入完成後,存檔退出。

鍵入crontab -l 來檢查剛才的輸入是否正確。好了,這樣只要Linux伺服器不關機,每天凌晨3:00cron都會自動啟動指令碼來對資料進行備份的。你就可以高枕無憂了。