Я хотел бы получить разницу между двумя каталогами (не файлами), скажем, dir1 в локальной системе и dir2 , который расположен на удаленном сервере.
Из того, что я мог найти в интернете, «лучший» вариант - использовать rsync
, например:
rsync -rvc --delete dir1/ user@ip:/home/user/dir2
После проверки разницы (если есть), мне нужно rsync
снова с локального на удаленный, поэтому эти два каталога идентичны. Теперь, чтобы сделать это, мне нужно проверить значение выхода этой команды и действовать соответствующим образом (я делаю все это в сценарии оболочки). Первоначально я делал это с помощью команды diff
, которая позволила бы мне проверить значение выхода (0 для разницы нет и 1 для разницы между каталогами). Но с rsync
код выхода просто возвращается, если команда выполняется успешно, а это не то, что мне нужно.
Вот что мне нужно сделать:
rsync
каталоги синхронизируются PS: я сделал это локально (из одного каталога в другой каталог), и он отлично работает с diff
, а не с хотя удаленная система.