Я хотел бы использовать rsync, чтобы ...
- удалить файлы на принимающей стороне, которые также были удалены на отправляющей стороне
- не удалять другие файлы, находящиеся в каталоге rsynced на принимающей стороне
Например, допустим, у меня есть каталог local-src
:
ДО: local-src
локально содержит ...
a.txt
b.txt
c.txt
local-src
называется мой удаленный каталог, который я хочу синхронизировать с содержимым remote-src
.
ДО: remote-src
удаленно содержит ...
a.txt
b.txt
c.txt
d.txt
README.md
Допустим, я удаляю некоторые файлы в local-src
:
ПОСЛЕ МЕСТНОГО УДАЛЕНИЯ: local-src
локально содержит ...
c.txt
Как я могу использовать rsync таким образом, чтобы гарантировать, что файлы, удаленные в источнике, также будут удалены в месте назначения, но без удаления других файлов в месте назначения. Например, я хотел бы иметь следующее в пункте назначения:
ПОСЛЕ МЕСТНОГО УДАЛЕНИЯ: remote-src
удаленно содержит ...
c.txt
d.txt
README.md
То есть a.txt
и b.txt
удаленно удаляются так же, но d.txt
и README.txt
остаются одни.
Есть ли способ достичь этого с помощью rsync?
РЕДАКТИРОВАТЬ: кажется, вердикт, что это может быть невозможно с rsync. Меня спросили, зачем мне это нужно, чтобы проиллюстрировать мой вариант использования:
Допустим, у меня есть веб-сервер. На этом веб-сервере у меня есть несколько каталогов, скажем, у меня есть каталог A
и public_html
каталог, из которого обслуживается мой сайт. Допустим, у меня есть какой-то автоматизированный процесс, который создает файлы в каталоге A
. Я хотел бы Rsync (или синхронизация с помощью какого - либо другого инструмента) файлы , созданных или обновленных в A
в public_html
каталог, не удаляя другие произвольные файлы , которые могут быть в пределах public_html
. Я, конечно, не хочу, чтобы rsync случайно удалил мой сайт.
Если rsync не является инструментом для этой работы, знает ли кто-то еще, как я могу это сделать?
rsync
поскольку нет способа узнать, какие файлы уже находятся в удаленной папке. Вам может понадобиться найти другой инструмент.