linux下的本機tar備份

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腳本來對數據進行備份的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章