013 rsync 取代 cp , 有進度狀態, 又可保留權限

Post date: 2015/7/27 上午 09:28:56

cp -ap /來源目錄 /目的路徑 是不錯, 但複製大檔時,常不知進度到那了?

所以用rsync 可以看進度, 更好的是如有更新, 還可以只複製更新的部份~

rsync -avP /來源目錄 /目的路徑/

說明:

rsync -avP /source/data /destination/

會將資料夾 data 複製到 /destination/data 下.

如果是:

rsync -avP /source/data/ /destination/

就會將資料夾 data/*.*所有內容, 複製到 /destination/下!

rsync語法:

rsync [-avrlptgoD] [-e ssh] [user@host:/dir] [/local/path] 選項與參數: -v :觀察模式,可以列出更多的資訊,包括鏡像時的檔案檔名等; -q :與 -v 相反,安靜模式,略過正常資訊,僅顯示錯誤訊息; -r :遞迴複製!可以針對『目錄』來處理!很重要! -u :僅更新 (update),若目標檔案較新,則保留新檔案不會覆蓋; -l :複製連結檔的屬性,而非連結的目標原始檔案內容; -p :複製時,連同屬性 (permission) 也保存不變! -g :保存原始檔案的擁有群組; -o :保存原始檔案的擁有人; -D :保存原始檔案的裝置屬性 (device) -t :保存原始檔案的時間參數; -I :忽略更新時間 (mtime) 的屬性,檔案比對上會比較快速; -z :在資料傳輸時,加上壓縮的參數! -e :使用的通道協定,例如使用 ssh 通道,則 -e ssh -a :相當於 -rlptgoD ,所以這個 -a 是最常用的參數了! 更多說明請參考 man rsync 的解說!

來源:

http://novanet.idv.tw/blog/?p=594

http://linux.vbird.org/linux_server/0310telnetssh.php#rsync