歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> SHELL編程 >> Linux Shell拷貝文件的安全方法

Linux Shell拷貝文件的安全方法

日期:2017/3/1 11:16:05   编辑:SHELL編程

在Linux下拷貝大量文件,最好的辦法就是將這些文件一起打包壓縮,使用ssh傳送到目的主機。紅色的兩種方式效果不錯。

  1. #!/bin/sh
  2. #copy way!!
  3. #無法保存硬鏈接的時間信息。會將硬鏈接當成普通文件拷貝,記錄最新的時間
  4. cp -Rp * /dest/dir
  5. #盡可能保存信息,但是,如果硬鏈接過多,使得緩存使用完,同樣無法完成拷貝
  6. cp -a * /dest/dir
  7. #使用 “-”來傳遞壓縮的文件,然後在指定目錄解壓縮。使用* 會漏掉隱藏文件
  8. tar -cvf - * | (cd /dest/dir && tar xvfp -)
  9. #使用-depth 基本解決了目錄不可寫或者不可查找的權限問題。
  10. find . -depth | xargs tar cvf - | (cd ../tar_cp/ && tar xvfp -)
  11. #使用ssh協議,拷貝並發送文件 ------竟然變不了紅色----
  12. find . -depth | xargs tar cvf - | \
  13. ssh machine_name 'cd /dest; mkdir dir; cd dir; tar xvfp -'
  14. #cpio -d 創建需要的目錄, -a重置源文件的訪問時間,-m保護新文件的修改時間,
  15. #-v列出已處理的文件,-p將cpio設置為“copy pass-through”模式,相當於使cpio進入復制操作模式。
  16. #很像"tar -cvf - * | (cd /dest/dir && tar -xvfp -)"
  17. find . -depth | cpio -dampv {/dest/dir}
  18. find . -depth | ssh machine_name 'cpio -dampv /dest/dir' #這個也是紅色的.....
  19. #-a 歸檔開關,保留所有權限、所有權和修改時間 -v 冗余模式開關
  20. #rsync -av /src/dir/ /dest/dir ---->如果使用/src/dir 就會把/src/dir下
  21. #的內容復制到 /dest/dir/dir 下。
  22. rsync -av -e ssh user@remotehost:/src/dir/ /local/dest/dir/
  23. #使用-z 進行壓縮,減少傳送量。
  24. rsync -avz -e ssh user@remotehost:/src/dir/ /local/dest/dir/
Copyright © Linux教程網 All Rights Reserved