2012年4月26日 星期四

[遠端傳檔筆記] sftp lftp rsync


這篇文章是小橘工作上的一些小筆記  如果沒有興趣..請多包含囉  > . <

[情境]  小橘最近由於工作上的需要 需要測試 vps
            而為了要驗證 vps 是否堪用  需要把正式環境的檔案複製一份到 VPS 上
            但目前遇到最大的問題是  nas 上的大量資料 要複製實在是很頭痛.....
          
            理論上應該只要把 NAS 目錄裡的東西  壓縮起來
            在整個壓縮檔上傳到遠端的 VPS 上, 之後再解壓縮即可
             但..... NAS裡的檔案 有將近 900G
             如果要壓縮起來 ..... NAS 的剩餘空間應該不夠...... (因為目前使用率 67%)
            
             所以放棄壓縮起來上傳的方式囉.....
             那些下來還有哪些方法可以把檔案透過網路傳到遠端的主機呢?




 [rsync]   rsync遠端更新協定(remote-update protocol)可以透過網路來傳輸兩端檔案不同的地方.

  EX:    rsync -avz -e 'ssh -p 111' /nas/Photos user@remoteHost:/nas/Photos
         
            只要透過上述的指令  就可以將本機端   /nas/Photos  上傳到遠端 /nas/Photos 的位置

            其中,
      -a, --archive    archive mode 權限保存模式,很快速的保存幾乎所有的權限設定
      -v, --verbose    輸出訊息. 
      -z, --compress   壓縮模式,當資料在傳送到目的端進行檔案壓縮.
       
 
[sftp] 其實只是 FTP 的 SSH 版 不過只適合快速的上傳檔案(檔案數少的情況)
       因為他沒辦法直接上傳整個目錄......
 
       這裡會筆記主要介紹的是 如何更改 PORT  XDD 因為預設是 port 22 
       sftp -oPort=111  user@example.com 
 
 
[lftp] 會使用這套軟體是因為, 他也可以利用 SSH 的方式來上傳檔案
        而且提供較多的檔案功能 這裡會介紹  mirror 指令 他可以幫你上傳整個目錄阿
 
 連線方式 :  lftp sftp://user@remoteHost -p 111
                           Password:
                           lftp user@remoteHost:~>help

             如此就可以透過 sftp 的方式連線上遠端主機的 port 111 了
             連上之後,他會詢問 user 的密碼只要輸入完成即可開始使用
             你可以使用 help 來查詢他提供了哪些功能
 
 整個目錄上傳的功能  mirror [OPTS] [local [remote]]  
 其中 OPTS 的參數可以指定下列
 -c 續傳 
 -R 上傳整個目錄 
 -n 只下載較新的檔案 
 -r 不用遞迴到目錄中 
 -e 要小心!!  比較遠端和本地端的檔案, 假如遠端沒有的, 就將本地端的檔案刪除, 也就是將本地端和遠端資料同步。  
  
 
 連線上遠端主機後, 你可以輸入下列指令  請記得要加上 -R 參數喔, 
 lftp user@remoteHost:~> mirror -R /local/DIR /Remote/nas/DIR
 
 這樣他就會幫 您將您本機的 /local/DIR  上傳到遠端主機的
                           /Remote/nas/DIR 
 
 下完指令後, 你會看到他開始努力的幫你上傳了 ^^ 最後會跑出結果
mirror -R /local/DIR /Remote/nas/DIR
Total: 64 directories, 489 files, 0 symlinks
New: 489 files, 0 symlinks
1250004317 bytes transferred in 176 seconds (6.77M/s)
                       
        
    
          

沒有留言: