歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> SHELL編程

Linux Shell拷貝文件的安全方法

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

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