歸檔文件並在系統間複製文件
1、管理壓縮的tar存檔
創建備份和通過網絡傳輸數據時,歸檔和壓縮文件非常有用。用來創建和使用備份歸檔的其中一個最常見的命令是tar命令。
通過他人命令,用戶可以將大型文件集匯爲一個文件(存檔)。該存檔可以使用gzip、bzip2或xz壓縮方式壓縮。
操作tar命令
c 創建文檔
t 列出文檔內容
x 提取檔案
f filename 指定要操作的存檔文件名
v 詳細信息用於查看添加到存檔中或從中提取的文件有哪些
p 保留文件權限
注意:tar選項前可以不用 -
創建新存檔時要使用的第一個選項是 c ,後跟 f ,接着是要創建的存檔的文件名,最後是應當添加到該存檔中的文件和目錄列表。存檔會創建在當前目錄中,除非另外指定。
tar cf archive.tar file1 file2 file3
列出tar存檔內容
tar tf archive.tar
提取tar創建的存檔
tar xf /home/lvyang/archive.tar
2、創建壓縮的tar存檔
tar命令支持三種不同的壓縮方式。
z 用於gzip壓縮(後綴.tar.gz或者.tgz) 壓縮速度最快,使用最廣泛
j 用於bzip2壓縮(後綴.tar.bz2) 生成文件較小
J 用於xz壓縮(後綴.tar.xz) 比較新,通常提供可用方式中最佳壓縮率
示例:
tar czf /etc/etcbackup.tar.gz /etc 壓縮
tar xzf /etc/etcbackup.tar.gz 解壓縮
gzip、bzip2、xz 也可以單獨用於壓縮單個文件
gzip /path/filename.tar.gz /path/filename
對應解壓命令 gunzip、bunzip2、unxz
gunzip /path/filename.tar.gz
3、在系統間安全地複製文件
scp命令可將文件從遠程主機傳輸到本地,或者反之。它利用的是SSH服務器進行身份驗證和加密數據傳輸。在啓動傳輸之前,用戶必須通過驗證。
scp file1 file2 username@hostname:/path 將文件複製到遠程主機
scp username@hostname:/path/file /path 從遠程主機複製文件到本地
要遞歸方式複製,可使用 -r 選項
scp -f /home/lvyang [email protected]:/home/james
使用sftp遠程傳輸文件
交互式工具,會話與典型的ftp會話相似,但也是使用SSH服務器的安全身份驗證和加密數據傳輸功能
建立sftp會話
sftp username@hostname
提示符 sftp>
sftp會話接受各種命令,運行方式基本與本地系統相同。使用put和get命令供上傳和下載文件使用,使用exit可退出sftp會話。
示例:拷貝本地/etc/hosts 到 192.168.10.3的/home/lvyang目錄下,然後再下載到本地當前目錄下
sftp [email protected]
sftp>mkdir /home/lvyang
sftp> cd /home/lvyang
sftp>put /etc/hosts
sftp>get /home/lvyang/hosts
4、在系統間安全的同步文件
rsync工具是另一種在系統之間安全複製文件的方式。它與scp的區別在於,如果兩個系統間的兩個文件或目錄相似,rsync僅需複製系統間的差異部分,而scp複製所有內容
rsync的一個最重要選項是 -n 選項,它用於執行空運行。空運行是對真正執行命令時所發生情況的模擬,建議在任何rsync操作前先執行空運行,以確保重要的文件不會被覆蓋或刪除。
-r 以遞歸方式同步整個目錄
-l 同步符號鏈接
-p 保留權限
-t 保留時間戳
-g 保留組所有權
-o 保留文件所有者
-D 同步設備文件
-v 同步進行時向輸出中添加詳細信息
-a 代表 存檔模式
示例
rsync -av /var/log username@hostname:/tmp 將本地log目錄同步到異地/tmp
raync -av username@hostname:/var/log /tmp 將遠程log目錄通道本地/tmp