簡體   English   中英

Linux rsync 命令

[英]Linux rsync command

我現在使用 Linux 服務器和 Apple Mac。 每天早上我都會使用命令rsync -a -v server:~/work_dir ~/更新我的 MacBook 上的數據。 我已經查閱了手冊,但找不到任何可以幫助我的命令。 因為我希望該命令自動刪除服務器上不再存在的文件。 但是當我刪除服務器上的文件並運行rsync命令時,這些文件仍然在我的筆記本電腦上。 我使用了錯誤的命令嗎? 還是我錯過了一個選擇?

如果你的腳本被改編成這樣,

MASTER="server:${HOME}/work_dir"
REPLICA="${HOME}/"

rsync --archive --delete --verbose "${MASTER}" "${REPLICA}"

--delete選項將刪除 REPLICA 中存在但 MASTER 中不存在的所有文件。 我假設您打算讓 rsync 在您的筆記本電腦 ${HOME} 中創建目錄“work_dir”,如果它不存在的話。 否則,作為故障保險,我將在筆記本電腦上創建“work_dir”並將尾隨“/”添加到 MASTER 定義中。

請注意,該刪除操作有多種行為模式,用於控制刪除發生的時間。

我建議不要使用

--delete-before
--delete-during

除非 REPLICA 是一個文件夾,旨在作為其他下游進程的切換緩沖區

如果 REPLICA打算成為 MASTER 的副本,那么強烈建議您使用刪除選項,該選項會保留所有數據,直到復制被驗證為良好為止。 這讓你有兩個選擇

--delete-delay
--delete-after

其中--delete-delay可能是首選,因為它不會強制對 REPLICA 進行第二次掃描以定位要清除的文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM