Відповіді:
Для rsync є набагато більше властивостей, ніж згадується у попередній відповіді. Ви самі повинні їх заглянути:
man rsync
Але для вашої проблеми я б запропонував:
rsync -a --delete X Y
Таким чином, одержувач (Y) видалить будь-який файл, який у нього є, але не в X. Будьте впевнені, ви зробите це правильно. Використовується неправильно, оскільки root може легко вбити вашу систему ... :)
Погляньте на rsync (1) . Він призначений робити майже все саме те, що ви хочете.
rsync -av X Y
Він підтримує віддалене копіювання, через власний протокол або ssh, але також може використовуватися локально.
Залежно від конкретної поведінки, яку ви хочете, ви також можете прийняти --update
варіант. Це дозволить rsync не перезаписувати файли, які вже існують у цілі та новіші, ніж файли в джерелі.
Якщо ви хочете видалити зайві файли (тобто файли, які існують у Y, але не в X), ви можете додати цю --delete
опцію.