использование DIFF с удаленной системой

Я хотел бы получить разницу между двумя каталогами (не файлами), скажем, dir1 в локальной системе и dir2 , который расположен на удаленном сервере.
Из того, что я мог найти в интернете, «лучший» вариант - использовать rsync, например:

rsync -rvc --delete dir1/    user@ip:/home/user/dir2

После проверки разницы (если есть), мне нужно rsync снова с локального на удаленный, поэтому эти два каталога идентичны. Теперь, чтобы сделать это, мне нужно проверить значение выхода этой команды и действовать соответствующим образом (я делаю все это в сценарии оболочки). Первоначально я делал это с помощью команды diff, которая позволила бы мне проверить значение выхода (0 для разницы нет и 1 для разницы между каталогами). Но с rsync код выхода просто возвращается, если команда выполняется успешно, а это не то, что мне нужно.

Вот что мне нужно сделать:

  1. проверить, отличаются ли две директории (получить возвращаемое значение 0 или 1)
  2. , если не отличается, то ничего не происходит
  3. Если отличается, то с помощью rsync каталоги синхронизируются

PS: я сделал это локально (из одного каталога в другой каталог), и он отлично работает с diff, а не с хотя удаленная система.

1118 Любое предложение приветствуется. Спасибо.

0
задан 20 January 2018 в 16:18

0 ответов

Другие вопросы по тегам:

Похожие вопросы: