Ответы:
Rsync имеет гораздо больше свойств, чем упоминалось в предыдущем ответе. Вы должны посмотреть на них сами:
man rsync
Но для вашей проблемы я бы предложил:
rsync -a --delete X Y
Таким образом, получатель (Y) удалит любой файл, который у него есть, но не в X. Убедитесь, что вы все сделаете правильно. При неправильном использовании root может легко убить вашу систему ... :)
rsync -a --delete X/ Y. Эта небольшая косая черта после X заставила его работать так, как мне предназначалось, так что это может помочь и другим. Объясняется здесь: abbeyworkshop.com/howto/unix/nix_rsync/index.html
Посмотрите на rsync (1) . Он предназначен для того, чтобы делать именно то, что вы хотите.
rsync -av X Y
Он поддерживает удаленное копирование через собственный протокол или ssh, но его также можно использовать локально.
В зависимости от того, какое поведение вы хотите, вы также можете передать --updateопцию. Это скажет rsync не перезаписывать файлы, которые уже существуют на цели и являются более новыми, чем те, которые находятся в источнике.
Если вы хотите удалить дополнительные файлы (то есть файлы, которые существуют в Y, но не в X), вы можете добавить --deleteопцию.