在備份的操作中,拷貝,過期文件的刪除是經常要做的事情。
拷貝也有本機拷貝,拷貝到別的服務器等。常用的操作有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 -r /home/soft/ [email protected]:/home/others/
3. rsync
rysnc是一個數據鏡像及備份工具,具有可使本地和遠程兩臺主機的文件,目錄之間,快速同步鏡像,遠程數據備份等功能。在同步過程中,rsync是根據自己獨特的算法,只同步有變化的文件,甚至在一個文件裏只同步有變化的部分,所以可以實現快速的同步數據的功能。
1. rsync用法
NAMErsync - 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中定時執行同步就好了。