1.使用tar命令備份數據的格式如下:
上述命令是將/home/html 目錄下的所有文件打包成tar文件backup.tar。
cvf是tar的命令參數。
-
c代表創建一個檔案文件,
-
v代表顯示每個備份的文件名字,
-
f表示tar創建的檔案文件名是後面的backup.tar,
-
/home/html 代表tar要備份的文件或和目錄名。
通常情況下,tar對文件進行備份的時候並不對文件進行壓縮,因此備份文件的尺寸非常大。
使用如下的命令,將使tar在備份結束以後,自動使用gzip命令對備份文件進行壓縮,得到一個相應的gz文件:
這樣,我們可以得到壓縮文件backup.tar.gz。
backup.tar.gz是壓縮的備份文件。
2.使用tar命令恢復數據的格式如下:
上述命令將備份文件backup.tar恢復到當前目錄下。
本機數據的自動備份
使用上述命令,我們可以手工備份數據,但是每天定時做這些操作可能比較繁瑣。Linux爲我們提供了強大的工具來進行自動備份。這就是cron。
cron是一個後臺進程,一旦啓動,將根據自己的配置文件定時地執行任務。
我們可以編寫一個shell腳本文件來進行文件備份,然後讓cron定時地啓動這個腳本文件來對數據進行備份。
例如,我們每天備份/home/html目錄下的所有的文件到/home/admin/backup/backup_xxxx目錄下,xxxx代表備份的日期。這個工作,可以編寫一個如下的shell腳本backup.sh來進行:
這個腳本在備份數據的時候,自動讀取系統日期,然後以系統當前的日期建立一個新的目錄,將備份的數據打包壓縮放在這個目錄中。
我們可以在系統中通過執行:$sh backup.sh ,完成備份工作。
如果鍵入:$chmod +x backup.sh ,可以將backup.sh設置爲可運行。
這樣,我們就可以直接通過鍵入$./backup.sh來運行備份腳本文件了。
一般情況下,我們希望在系統負載不是最大的時候來進行數據備份。通常,我們可以選擇每天的凌晨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 * * * backup.sh 輸入完成後,存盤退出。
鍵入crontab -l 來檢查剛纔的輸入是否正確。
好了,這樣只要Linux服務器不關機,每天凌晨3:00cron都會自動啓動backup.sh腳本來對數據進行備份的。