Linux系統(tǒng)下本機(jī)數(shù)據(jù)的自動(dòng)備份
我們可以手工備份數(shù)據(jù),但是每天定時(shí)做這些操作可能比較繁瑣。當(dāng)然,Linux為我們提供了強(qiáng)大的工具來(lái)進(jìn)行自動(dòng)備份。這就是cron。
cron是一個(gè)后臺(tái)進(jìn)程,一旦啟動(dòng),將根據(jù)自己的配置文件定時(shí)地執(zhí)行任務(wù)。我們可以編寫一個(gè)shell腳本文件來(lái)進(jìn)行文件備份,然后讓cron定時(shí)地啟動(dòng)這個(gè)腳本文件來(lái)對(duì)數(shù)據(jù)進(jìn)行備份。
例如,我們每天備份/home/html目錄下的所有的文件到/home/admin/backup/backup_xxxx目錄下,xxxx代表備份的日期。這個(gè)工作,可以編寫一個(gè)如下的shell腳本backup.sh來(lái)進(jìn)行:
#!/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/backup.tar.gz /home/html
這個(gè)腳本在備份數(shù)據(jù)的時(shí)候,自動(dòng)讀取系統(tǒng)日期,然后以系統(tǒng)當(dāng)前的日期建立一個(gè)新的目錄,將備份的數(shù)據(jù)打包壓縮放在這個(gè)目錄中。我們可以在系統(tǒng)中通過(guò)執(zhí)行:$sh backup.sh ,完成備份工作。如果鍵入:$chmod +x backup.sh ,可以將backup.sh設(shè)置為可運(yùn)行。這樣,我們就可以直接通過(guò)鍵入$./backup.sh來(lái)運(yùn)行備份腳本文件了。一般情況下,我們希望在系統(tǒng)負(fù)載不是最大的時(shí)候來(lái)進(jìn)行數(shù)據(jù)備份。通常,我們可以選擇每天的凌晨3:00來(lái)進(jìn)行數(shù)據(jù)備份(這段時(shí)間,你的服務(wù)器訪問(wèn)的人數(shù)應(yīng)該最少吧?)。把一切工作交給 cron吧。 cron啟動(dòng)以后,它檢查/var/spool/cron/目錄中的配置文件來(lái)找到所要執(zhí)行的任務(wù)和執(zhí)行任務(wù)的時(shí)間,依據(jù)這些設(shè)定在規(guī)定的時(shí)間執(zhí)行規(guī)定的任務(wù)。
這個(gè)任務(wù)配置文件可以由crontab -e 命令來(lái)編輯。
其格式為每行代表一個(gè)任務(wù)和規(guī)定的執(zhí)行時(shí)間。
每行由6個(gè)域組成:
分鐘小時(shí)每月的天月星期命令
上述6個(gè)域之間用空格或Tab分開,其中:
分鐘:分鐘域,值的范圍是0到59
小時(shí):小時(shí)域,值的范圍是0到23
每月的天:日期,值的范圍是1到31
月份:月份,值的范圍是1到12
星期:星期,值的范圍是0到6,星期日值為0 命令。
所要運(yùn)行的.命令特別的,如果一個(gè)域是‘*’,表明命令可以在該域所有可能的取值范圍內(nèi)執(zhí)行。如果一個(gè)域是由連字符隔開的兩個(gè)數(shù)字,表明命令可以在兩個(gè)數(shù)字之間的范圍內(nèi)執(zhí)行(包括起止兩個(gè)數(shù)字本身)。如果一個(gè)域是由逗號(hào)隔開的一系列值組成的,表明命令可以在這些值組成的范圍內(nèi)執(zhí)行,F(xiàn)在,我們編寫一個(gè)文件,用以在每天的凌晨3:00啟動(dòng)備份shell程序。
鍵入:crontab -e 命令,
然后輸入: 0 3 * * * backup.sh 輸入完成后,存盤退出。
鍵入crontab -l 來(lái)檢查剛才的輸入是否正確。好了,這樣只要Linux服務(wù)器不關(guān)機(jī),每天凌晨3:00cron都會(huì)自動(dòng)啟動(dòng)backup.sh腳本來(lái)對(duì)數(shù)據(jù)進(jìn)行備份的。你就可以高枕無(wú)憂了。
【Linux系統(tǒng)下本機(jī)數(shù)據(jù)的自動(dòng)備份】相關(guān)文章:
Linux系統(tǒng)下本機(jī)上數(shù)據(jù)的手工備份10-15
Linux系統(tǒng)下ftp的管理06-06
Oracle數(shù)據(jù)庫(kù)RMAN的自動(dòng)備份腳本簡(jiǎn)介10-15
Linux認(rèn)證系統(tǒng)管理:linux下搭建ftp09-30
硬盤上的數(shù)據(jù)怎樣備份07-18
2016年Linux認(rèn)證基礎(chǔ)知識(shí):mysql數(shù)據(jù)庫(kù)的全量備份11-04