Linux中幾個在備份中常用的命令(cp,scp,rsync)

在備份的操作中,拷貝,過期文件的刪除是經常要做的事情。

拷貝也有本機拷貝,拷貝到別的服務器等。常用的操作有cp,scp,rsync等命令。

1、 cp(copy)命令

功能說明:複製文件或目錄。 

語  法:cp [-abdfilpPrRsuvx][-S <備份字尾字符串>][-V <備份方式>][--help][--spares=<使用時機>][--version][源文件或目錄][目標文件或目錄] [目的目錄] 

補充說明:cp指令用在複製文件或目錄,如同時指定兩個以上的文件或目錄,且最後的目的地是一個已經存在的目錄,則它會把前面指定的所有文件或目錄複製到該目錄中。若同時指定多個文件或目錄,而最後的目的地並非是一個已存在的目錄,則會出現錯誤信息。

參  數:
 -a或--archive  此參數的效果和同時指定"-dpR"參數相同。 
 -b或--backup  刪除,覆蓋目標文件之前的備份,備份文件會在字尾加上一個備份字符串。 
 -d或--no-dereference  當複製符號連接時,把目標文件或目錄也建立爲符號連接,並指向與源文件或目錄連接的原始文件或目錄。 
 -f或--force  強行復制文件或目錄,不論目標文件或目錄是否已存在。 
 -i或--interactive  覆蓋既有文件之前先詢問用戶。 
 -l或--link  對源文件建立硬連接,而非複製文件。 
 -p或--preserve  保留源文件或目錄的屬性。 
 -P或--parents  保留源文件或目錄的路徑。 
 -r  遞歸處理,將指定目錄下的文件與子目錄一併處理。 
 -R或--recursive  遞歸處理,將指定目錄下的所有文件與子目錄一併處理。 
 -s或--symbolic-link  對源文件建立符號連接,而非複製文件。 
 -S<備份字尾字符串>或--suffix=<備份字尾字符串>  用"-b"參數備份目標文件後,備份文件的字尾會被加上一個備份字符串,預設的備份字尾字符串是符號"~"。 
 -u或--update  使用這項參數後只會在源文件的更改時間較目標文件更新時或是 名稱相互對應的目標文件並不存在,才複製文件。 
 -v或--verbose  顯示指令執行過程。 
 -V<備份方式>或--version-control=<備份方式>  用"-b"參數備份目標文件後,備份文件的字尾會被加上一個備份字符串,這字符串不僅可用"-S"參數變更,當使用"-V"參數指定不同備份方式時,也會產生不同字尾的備份字串。  
 -x或--one-file-system  複製的文件或目錄存放的文件系統,必須與cp指令執行時所處的文件系統相同,否則不予複製。 
 --help  在線幫助。 
 --sparse=<使用時機>  設置保存稀疏文件的時機。 
 --version  顯示版本信息。


2. SCP

scp是 secure copy的縮寫, scplinux系統下基於ssh登陸進行安全的遠程文件拷貝命令。linuxscp命令可以在linux服務器之間複製文件和目錄.
scp命令的用處:
scp在網絡上不同的主機之間複製文件,它使用ssh安全協議傳輸數據,具有和ssh一樣的驗證機制,從而安全的遠程拷貝文件。
scp命令基本格式:
     scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file] [-l limit] [-o ssh_option] [-P port] [-S program] [[user@]host1:]file1 [...] [[user@]host2:]file2
 

例子:scp -r /home/soft/ [email protected]:/home/others/


3. rsync

  

rysnc是一個數據鏡像及備份工具,具有可使本地和遠程兩臺主機的文件,目錄之間,快速同步鏡像,遠程數據備份等功能。在同步過程中,rsync是根據自己獨特的算法,只同步有變化的文件,甚至在一個文件裏只同步有變化的部分,所以可以實現快速的同步數據的功能。

    1. rsync用法

NAME
       rsync - faster, flexible replacement for rcp

用法:
       rsync [OPTION]... SRC [SRC]... DEST

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

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

       rsync [OPTION]... SRC [SRC]... rsync://[USER@]HOST[:PORT]/DEST

       rsync [OPTION]... SRC

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

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

       rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]

參數是非常多,用man可以查詢。

   --delete 刪除傳送端已經不存在,而目的端存在的檔案

   --delete-excluded 除了把傳送端已經不存在, 而目的端存在的檔案刪除之外, 也刪除 --exclude 參數所包含的檔案

     使用例子,把192.168.1.2的/home/下的文件同步到本地的/home/下面:rsync -aSvH --delete /home/ [email protected]:/home/

    主要SCR目錄的寫法、比如 rsync src/  和 src 是有區別的。 src/是src文件夾下的所有文件作爲傳送對象。沒有/的src的話是,src這個文件夾整體拷貝傳送。

rsync執行中需要ssh認證等,可以實現配置,然後在cron中定時執行同步就好了。


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