tar是linux下的「打包工具」。所謂「打包」,就是將多個目錄或者檔案打包成乙個大檔案。而且tar命令還可以通過呼叫gzip/bzip2等壓縮命令將打包檔案進行壓縮。tar的本意是tap archive,即操作磁帶文件,但基於共同的檔案系統機制,tar同樣也適用於普通磁碟檔案。目前tar是linux環境下最常用的備份工具之一。
tar的選項極多,但通常只需要記住幾個常用的即可,這裡列出我認為必要的:
特別注意:-c、-t、-x三個引數不能同時出現引數
說明-c
新建打包檔案
-t檢視打包檔案的內容含有哪些檔案
-x解包
這幾個引數配合-c或者-x引數使用,通過呼叫相關的壓縮命令對打包檔案進行壓縮或者解壓。
引數說明
-z呼叫gzip進行壓縮或解壓
-j呼叫bzip2進行壓縮或解壓
-j呼叫xz進行壓縮或解壓
如果用gzip壓縮,則生成的目標檔名最好按照習慣將字尾名命名為.gz;如果是bzip2壓縮,最好是.bz2;而xz壓縮,則最好是.xz。
引數說明
-v顯示詳細資訊,verbose
-f filename
-f後面指定檔名
-c指定解包的目錄,如不指定將在當前目錄解包
-p(大寫)保留檔案的許可權與屬性
-p(小寫)保留絕對路徑
–exclude=file
在備份過程中,不要將file打包
tar命令的使用非常簡單,只要記住以下三種方式即可:
$ tar -czvf filename.tar
.gz file_or_dir_name
該命名將檔案或目錄file_or_dir_name打包並用gzip壓縮為filename.tar.gz。你也可以使用-j或者-j引數呼叫bzip2或者xz壓縮,對應的引數組合為-cjvf
和-cjvf
。有的人喜歡把-f引數單獨寫,也不失為一種好的習慣,如:
$ tar -czv -f filename.tar
.gz file_or_dir_name
當然你喜歡第一種寫法也沒錯,只是要記住,-f後面必須緊跟要處理的檔名,而前面三個引數的順序隨意可變。
$ tar -xzv -f filename.tar
.gz
該命令查詢filename.tar.gz這個打包壓縮檔案裡面包含了哪些檔案和目錄。
$ tar -xzv
-f filename.tar.gz -c dir_name
該命令將打包壓縮檔案filename.tar.gz解壓解包到指定目錄dir_name中。如果不跟-c引數的話,就會解到當前目錄中。
案例:寫乙個指令碼,每天會自動備份一次/etc目錄下的所有檔案,將備份檔案存放在/tmp目錄下,並且檔名自動命名為etc-備份日期.tar.gz,如2023年9月15日備份的檔名為etc-2016-09-15.tar.gz。
1、寫shell指令碼
# vim ~/backup.sh
#! /bin/bash
tar czvf /tmp/etc-`date +%f.tar.gz /etc`
2、新增定時器任務
# crontab -e
自動開啟vim,在其中編輯定時器任務,設定每日凌晨2點0分執行備份操作。
# crontab -l
02 * * * /root/backup.sh
設定完畢! 運維學習日記 Linux學習01
運維須知的網路基礎知識 一 計算機網路 從硬體上定義,計算機網路是通過線纜將網路裝置和計算機連線起來 從軟體上定義,計算機網路是作業系統 應用軟體 應用程式通過通訊線路互連 計算機網路可以實現資源共享 資訊傳遞。具有資料通訊 資源共享 增加資料可靠性和提高系統處理能力的功能。網路發展階段 60年代 ...
Linux運維是什麼?linux運維的基礎知識
如果您對運維行業了解一些,應該會知道,現在的運維早已不是早年的 睡機房 往辦公室打眼一看,分不清是運維攻城獅還是開發程式猿,但是,運維這行也是春天到了,今天linux,明天雲計算的,各種新鮮概念層出不窮,那麼,linux運維是什麼?雲計算運維又是什麼?linux運維需要掌握的基礎知識 1 shell...
疫情下的IT運維
度過了 最好的 2019,卻迎來了 史無前例 的2020。疫情猶如絞肉機,將本不景氣的傳統行業絞的更加支離破碎。時代進入到了拐點,他甩下了一批人,也成就了一批人。縱觀過去的it行業,每一次技術的迭代更新,總會經歷乙個循序漸進的過程。但是今年,在新冠疫情的推動下,雲計算以勢如破竹之勢,席捲了各個行業。...