問題
如果我在遠端刪除了 /backup/xxx,本地同步的 /backup/xxx 是否也會跟著刪除?
回答
如果你在遠端伺服器上刪除了 /backup/xxx
,而你使用 rsync 命令來同步檔案,預設情況下,本地 /backup/xxx
不會立即跟著刪除。這是因為 rsync 的默認行為是保留已經存在於目的地(本地)的檔案,並僅更新已更改的檔案。
如果你希望 rsync 在遠端刪除後也刪除本地檔案,你可以使用 --delete
選項。你可以將它添加到 rsync 命令中,如下所示:
rsync -avz --delete -e "ssh -i $REMOTE_KEY" $REMOTE_USER@$REMOTE_SERVER:$REMOTE_BACKUP_DIR $LOCAL_BACKUP_DIR
使用 --delete
選項後,如果在遠端伺服器上刪除了 /backup/xxx
,那麼當你執行 rsync 命令時,本地的 /backup/xxx
也將被刪除以保持同步。請小心使用此選項,以確保不會意外刪除你不想丟失的資料。