歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux服務器

文件處理Rsync命令使用介紹

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)目錄中

Copyright © Linux教程網 All Rights Reserved