linux中的系統檔案傳輸、歸檔、壓縮
環境為redhat系統內有兩臺虛擬機器,分別是desktop(主機名為node1)和server(主機名為node2)。所有操作均在虛擬機器內操作。
首先說一下如何修改主機名
hostnamectl set-hostname node2.example.com ##修改使用者名稱為node2
一、rsync資料映象備份工具,用法格式有點像scp,但與scp有一些區別,rsync比scp更快
例如 : scp /etc 和 /etc/沒有區別
rsync /etc 表示包含etc目錄 /etc/ 不包含etc目錄
rsync -<> dir [email protected] ##備份檔案到伺服器
rsync -<> [email protected] dir ##備份檔案到本機
rsync -r rsync -r /etc/ [email protected]:/nmt ##遞迴備份目錄
1.用一個實驗來理解rsync的用法
touch lei{1..5} chown student.student * chmod 777 * ln -s /mnt/lei1 /mnt/file ll
rsync -r /mnt/ [email protected]:/mnt/
檢視同步後的檔案,會發現,許可權和時間以及擁有者和使用者組都不一樣,還跳過了軟連結
那麼如何才能將這些屬性都完全複製呢
rsync -r ##遞迴備份目錄 -l ##保留軟連結檔案 -p ##保留檔案許可權 -t ##保留檔案時間戳 -g ##保留檔案使用者組 -o ##保留檔案擁有者
按照上面rsync的註釋,我們輸入命令
rsync -rpogtl /mnt/ [email protected]:/mnt/
這樣就成功的將檔案的各個屬性成功的複製到了node 2這臺主機上
linux系統中還有一些硬體資訊等檔案,需要用到下面D這個引數
rsync -Dr ##保留檔案裝置資訊
二.tar歸檔,可歸檔的檔案不包括連結檔案
tar -c ##建立一個歸檔檔案的引數指令 (create 的意思 )
-x ##解開一個歸檔檔案的引數指令
-t ##檢視tarfile裡面的檔案
-v ##壓縮的過程中顯示檔案
-f ##指定打包檔名名
-f --get ##單獨獲取一個檔案
-f --delete ##刪除其中一個檔案
-p ##使用原檔案的原來屬性
-P ##可以使用絕對路徑來歸檔
-xf file -C dir ##將檔案歸檔到某個目錄
1.把etc目錄歸檔且名字設為etc.tar
tar cf etc.tar /etc
2.如何檢視歸檔的檔案內容
tar tf etc.tar
3.如何新增檔案進歸檔檔案
tar -rf etc.tar lei1
tar tf etc.tar
4.如何使歸檔檔案釋放
tar xf etc.tar
5.如何在歸檔檔案中取出一個自己想要的檔案
tar -f etc.tar --get lei1
6.如何刪除歸檔檔案中的一個檔案
tar -f etc.tar --delete lei1
tar tf etc.tar ##c看上一個這個命令的最後,會發現這了lei1檔案已經不見了
7.如何把歸檔檔案解除歸檔到某個目錄
tar -xf etc.tar -C /home/Public
3.壓縮
linux支援四種壓縮,zip、gz、bz2、xz,壓縮是一種通過特定的演算法來減小計算機檔案大小的機制。這種機制是一種很方便的發明 , 尤其是對網路使用者 , 因為它可以減小檔案的位元組總數 , 使檔案能夠通過較慢的網際網路連線實現更快傳輸 , 此外還可以減少檔案的磁碟佔用空間。
gzip/bzip/xz/zip file(壓縮成的) file(被壓縮的) ##壓縮檔案
-r ##遞迴壓縮
gunzip/bunzip/unxz/unzip file(要解壓的) ##解壓檔案
du -sh file ##檢視檔案大小
file file(檔案) ##檢視檔案型別
1.如何把檔案壓縮成zip格式的
zip -r etc.tar.zip etc.tar
如何解壓zip檔案的格式
unzip etc.tar.zip
2.如何把檔案壓縮成gz格式
gzip etc.tar
如何把gz檔案解壓縮
gunzip etc.tar.gz
3.如何把檔案壓縮成bz2格式
bzip2 etc.tar
如何解壓bz2格式的檔案
bunzip2 etc.tar.bz2
4.如何把檔案壓縮成xz格式
xz etc.tar
如何解壓xz格式
unxz etc.tar.xz
總結,綜合來看 ,xz格式的檔案壓縮後最小,但耗時最長
四、如何使歸檔和壓縮同時進行
tar -z ##用gzip壓縮
-j ##用bzip2壓縮
-J ##用xz縮
1.如何將檔案歸檔並且壓縮成zip格式
tar -zcf etc.tar.gz /etc
2.如何將檔案歸檔並且壓縮成bz2格式
tar jcf etc.tar.bz2 /etc
3.如何將檔案歸檔並且壓縮成xz格式
tar Jcf etc.tar.xz /etc