Rsync 使用資料備份完成後該操作會自行終止。對於此,最好是在上述命令的基礎上再添加一個“-a”選項對於檔案)和“-e”選 項,指定使用遠端shell程式,以保障安全。此時,遠端的shell將使用一個加密協議,比如ssh,以便遠端shell可以使用-e ssh格式。
這 樣,上述Rsync 使用命令就有了ssh加密協議的保護,具體形式如下:
rsync -a -e ssh localdir host:remotedir
如果想瞭解整個檔案拷貝過程中所發生的一切,可以使用-v和-progress選項。-v選項表示列印出詳細的操作過程。rsync預設的操作是單純地 拷貝檔案,不列印任何東西,盡量不打擾使用者,只是簡單而快速地完成任務。若只使用一次,-v選項將會報告所有被拷貝的檔案,並在最後給 出總量。若使用兩次-v選項,即在命令中使用-vv的話,rsync將不僅報告所有被拷貝的檔案,還會報告那些勿需拷貝的檔案,並在最後給出更 詳細的資訊。-progress選項的任務則主要是顯示當前的拷貝進度,包括當前檔案的大小,已完成的百分比,當前的傳輸速度,剩餘時間估計, 等。如果要寫一條使用複選項模式和ssh隧道協議的命令,同時還要求有進度列指示器的話,則可採用如下形式:
rsync -avv -e ssh -progress localdir host:remotedir
如果在拷貝檔案的過程中,傳輸被中斷,Rsync 使用的預設操作是撤消前操作,即從目標機上刪除已拷貝的部分檔案。如果想在下次拷貝時續傳檔案 ,不需要重新拷貝所有檔案的話,可以使用-partial選項阻止rsync在傳輸中斷時刪除已拷貝的部分。如果希望同時使用-partial和-progress 選項的功能,則可以使用-P選項,這是rsync提供的一個更便捷的選項,可以代替上述兩者。因此,如果想使用複選項模式的檔案拷貝,並關閉 刪除選項,同時要求有進度列指示器和ssh隧道協議的保護,則可以採用如下命令:
rsync -avvP -e ssh localdir host:remotedir
如果希望系統按照預定的調度計劃自行處理,可以簡單地在後台守護進程任務中添加Rsync 使用命令。如:要添加rsync命令到/etc/crontab檔案中 ,方法如下所示:
30 4 * * * user rsync -aP -e ssh localdir host:remotedir
後台作業任務中的前五項用於定義某個任務何時被調度,第六項告訴後台守護進程哪一個使用者將運行該任務。可以把以下例子中的“user”字 符串替換為將運行該任務的實際的使用者帳號。例中的後台精靈被設定為每天早上4:30運行一次。前五個欄位的含義依次為秒,小時,月份 中的某一天,年份中的某月和一周中的星期幾。時間以0開頭,所以秒為0-59,小時為 0-23。接下來的兩個欄位,月份中的某一天和年份中的 某月,為1-31和1-12。最後一個欄位,星期中的某一天,為0-7,不管是0還是7都代表星期天。實際的後台守護進程設定檔都比這複雜,但這 些是用rsync進行資料備份時建立背景程式的基本操作。如果還想瞭解更多的建立後台精靈的相關資訊,可以通過啟動命令man cron,man crontab和man 5 crontab來擷取。如果想集中管理資料備份後台守護進程,可以在備份伺服器上建立如下的後台守護項:
30 4 * * * user rsync -aP -e ssh host:remotedir localdir
按照如上所述的方式設定後,Rsync 使用將從某個特定的遠程主機上的目錄(remotedir)中收集檔案資訊,並複製這些檔案到你所指定的本地 (localdir)目錄中。