糯米文學吧

位置:首頁 > IT認證 > Linux認證

Linux系統下本機數據的自動備份

我們可以手工備份數據,但是每天定時做這些操作可能比較繁瑣。當然,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都會自動啟動腳本來對數據進行備份的。你就可以高枕無憂了。