文件備份與壓縮

来源:https://www.cnblogs.com/flashfish/archive/2019/04/18/10729379.html
-Advertisement-
Play Games

. tar 將多個文件打包在一起,,並可以實現解壓打包的文件 -z # 通過gzip壓縮或解壓 -c # 創建新的jar包 -v # 顯示tar命令執行過程 -f # 指定文件壓縮名字 -t # 不解壓查看壓縮包內容 -p # 保持穩健的原有屬性 -P # 以絕對路徑打包,危險參數 --exclud ...


. tar

  將多個文件打包在一起,,並可以實現解壓打包的文件

  -z    # 通過gzip壓縮或解壓

  -c    # 創建新的jar包

  -v    # 顯示tar命令執行過程

  -f    # 指定文件壓縮名字

  -t     # 不解壓查看壓縮包內容

  -p    # 保持穩健的原有屬性

  -P    # 以絕對路徑打包,危險參數

  --exclude=PATTERN  # 打包時排除不需要處理的文件或目錄

  -h    # 打包軟連接文件指向的

  -j    # bzip2命令壓縮或解壓

  -x    # 加壓tar包

  -C    # 解壓到指定目錄

  --hard-derefrence  #打包硬鏈接文件

 

[root@mysql-141 ~]# mkdir -p /test
[root@mysql-141 ~]# touch /test/{01..10}.txt
[root@mysql-141 ~]# ls /test/{01..10}.txt
/test/01.txt  /test/03.txt  /test/05.txt  /test/07.txt  /test/09.txt
/test/02.txt  /test/04.txt  /test/06.txt  /test/08.txt  /test/10.txt
[root@mysql-141 ~]# cd /test/
[root@mysql-141 ~]# tar zvf test.tar.gz /test/
[root@mysql-141 test]# tar ztvf test.tar.gz  -C /tmp/
[root@mysql-141 test]# tar zcvf www.tar.gz ./html/ --exclude=test/A
[root@mysql-141 test]# tar zxf test.tar.gz  

. gzip

  將一個大文件通過壓縮演算法變成一個小文件,gzip命令不能直接壓縮目錄,因此需要先用tar打包成一個文件,然後tar再調用gzip進行壓縮

  -d  # 加開壓縮文件

  -v  # 顯示指令執行的過程

  -l  # 列出壓縮文件的內容消息

  -c  # 將內容輸出到標準輸出,不改變原始文件

  -r  # 將目錄下的所有文件遞歸進行壓縮操作

  -t  # 測試,檢查壓縮文件是否完整

 

[root@mysql-141 test]# ls
01.txt  03.txt  05.txt  07.txt  09.txt
02.txt  04.txt  06.txt  08.txt  10.txt
[root@mysql-141 test]# gzip *.txt
[root@mysql-141 test]# ls
01.txt.gz  03.txt.gz  05.txt.gz  07.txt.gz  09.txt.gz
02.txt.gz  04.txt.gz  06.txt.gz  08.txt.gz  10.txt.gz
[root@mysql-141 test]# gzip -l *.gz
         compressed        uncompressed  ratio uncompressed_name
                 27                   0   0.0% 01.txt
                 27                   0   0.0% 02.txt
                 27                   0   0.0% 03.txt
                 27                   0   0.0% 04.txt
                 27                   0   0.0% 05.txt
                 27                   0   0.0% 06.txt
                 27                   0   0.0% 07.txt
                 27                   0   0.0% 08.txt
                 27                   0   0.0% 09.txt
                 27                   0   0.0% 10.txt
[root@mysql-141 test]# echo >11.txt
[root@mysql-141 test]# ls
01.txt.gz  03.txt.gz  05.txt.gz  07.txt.gz  09.txt.gz  11.txt
02.txt.gz  04.txt.gz  06.txt.gz  08.txt.gz  10.txt.gz
[root@mysql-141 test]# gzip -c 11.txt >11.txt.gz     # 壓縮保留源文件
[root@mysql-141 test]# ls
01.txt.gz  03.txt.gz  05.txt.gz  07.txt.gz  09.txt.gz  11.txt
02.txt.gz  04.txt.gz  06.txt.gz  08.txt.gz  10.txt.gz  11.txt.gz

. unzip

  unzip命令可以解壓zip命令或其他壓縮軟體壓縮的zip格式的文件

  

. scp

  在不同主機之間複製文件,採用ssh協議來保證複製的安全性,scp命令每次都是全量複製,效率不高 

  scp [options]  [[user@]host1:]file1 ... [[user@]host2:]file2

  -C    # 壓縮傳輸

  -l    # 指定傳輸占用的帶寬

  -P port  # 指定埠號傳輸

  -p    # 傳輸後保留文件的原始屬性

  -q    # 不顯示傳輸進度條

  -r    # 遞歸複製整個目錄

[root@mysql-141 ~]# ll /etc/services 
-rw-r--r-- 1 root root 641020 Apr 17 09:27 /etc/services
[root@mysql-141 ~]# scp /etc/services 10.0.0.201:/tmp     # 推送文件到遠程伺服器
The authenticity of host '10.0.0.201 (10.0.0.201)' can't be established
.
RSA key fingerprint is 67:e7:85:b7:bf:4a:01:8c:98:98:87:98:64:27:46:d4.Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.0.0.201' (RSA) to the list of known host
s.
root@10.0.0.201's password: 
services                             100%  626KB 626.0KB/s   00:00

[root@centos7 ~]# ll /tmp/services 
-rw-r--r-- 1 root root 641020 Apr 18 13:46 /tmp/services


[root@centos7 ~]# touch /tmp/scp.txt    # 遠程伺服器創建文件
[root@mysql-141 ~]# scp -rp 10.0.0.201:/tmp/scp.txt /tmp/    # 通過遠程伺服器拉取文件到本地
root@10.0.0.201's password: 
scp.txt                              100%    0     0.0KB/s   00:00    
[root@mysql-141 ~]# ls /tmp/scp.txt -l
-rw-r--r-- 1 root root 0 Apr 18 13:50 /tmp/scp.txt

 

. rsync

  可以實現全量以及增量的本地或遠程數據鏡像同步備份的優秀工具,適用於多種操作系統平臺

  本身是一個C/S模式服務,被xinetd管理埠

  rsync有三種常見模式:

  1)本地模式      # 數據的傳輸和cp命類似,一般av參數常用

    rsync [OPTION...] SRC... [DEST]

             源文件  目標文件

  2)守護進程模式   # 

    Pull: rsync [OPTION...] [USER@]HOST::SRC... [DEST]
                用戶@主機::源文件  目標文件
    Push: rsync [OPTION...] SRC... [USER@]HOST::DEST
               源文件  用戶@主機::目標文件

  3)遠程shell模式訪問   # 類似scp命令,只不過需要制定用戶和主機名  

    Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST]

              用戶@主機:源文件   目標文件
    Push: rsync [OPTION...] SRC... [USER@]HOST:DEST    

              源文件     用戶@主機:目標文件

  

  -v  # 詳細模式輸出進度信息

  -z  # 傳輸時進行壓縮以提高傳輸效率

  -a  # 以遞歸方式傳輸文件,並保持所有文件的屬性

  -r  # 對子目錄以遞歸模式傳輸

  -l  # 保留軟連接

  -n  # 測試選項,模擬執行

  --exclude=PATTERN  # 指定排除不需要傳輸的文件模式

  --exclude-from=file  #從文本文件中讀取要排除的文件列表

  --bwlimit=KBPS    # 限制傳輸速度

  --deldete        # 使目標目錄內容和源目錄保持一致,刪除不同的文件

 

[root@centos7 ~]# rsync -av 10.0.0.141:/tmp/passwd.out /tmp
The authenticity of host '10.0.0.141 (10.0.0.141)' can't be established.
RSA key fingerprint is SHA256:jYke6mtF+s2Hm5yhAOqJbZuM6aMMlZl+XJ3Ada7f0Zk.
RSA key fingerprint is MD5:e0:33:96:70:07:e4:bf:c6:c8:a5:2e:86:9b:6b:2d:62.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.0.0.141' (RSA) to the list of known hosts.
root@10.0.0.141's password: 
receiving incremental file list
passwd.out

sent 30 bytes  received 266 bytes  45.54 bytes/sec
total size is 183  speedup is 0.62
[root@centos7 ~]# ls -l /tmp/passwd.out 
-rw-r--r-- 1 root root 183 Apr 17 13:21 /tmp/passwd.out

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 首先,導入包管理的公鑰。 Ubuntu包管理工具(即dpkg和apt)要求發行商使用GPG密鑰簽署包,從而確保包的一致性和真實性。 然後,創建MongoDB的數據源文件 更新數據源。 更新中有些地址連不上。 安裝MongoDB 報錯:Unable to locate package mongodb- ...
  • service mysqld start ...
  • 游標控制: 內容編輯: A:當前行的尾部追加內容 i:游標前插入內容 l:游標後插入內容 o:在滑鼠所在行的下麵添加內容 O:在滑鼠所在行的上面添加內容 ESC:推出編輯模式 Ctrl-T:移動到下一個tab Backspace:向後移動一個字元 Ctrl-U:刪除當前 cw:刪除游標所在的字元,然 ...
  • systemctl start httpd ...
  • 先備份源數據原文件 編輯 sources.list,輸入內容如下: 保存關閉文件,更新數據源。 ...
  • 對於剛開始學習linux的同學,很多都是比較陌生的,打開文件的速度過慢影響很多,針對這個情況,小猿圈Linux講師整理了一份linux常用文件管理命令,希望對你正在自學linux的你有所幫助。 ...
  • 命令格式: ssh 用戶名@IP 示例: ssh [email protected] 回車,然後根據提示輸入登陸密碼即可。 ...
  • 1.以管理員許可權 運行 cmd. 重啟電腦,再試試。本人親測可行。第一次訪問可能會有點慢。耐心等待。 2.針對原來可以訪問但後來不行的人。 可以償試 1.把 Microsoft 網路xxx 前面的鉤去掉。確定退出 2.再進去 打鉤打上。再訪問試試。 重啟共用服務的意思。 希望能幫上大家。 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...