сравнить локальные каталоги и каталоги на сервере с помощью diff

Я пытаюсь найти различия между каталогом на моем локальном компьютере и удаленном сервере. После множества проб и ошибок я нашел следующую команду из здесь :

diff -q <('sudo ls -1aR /home/spyros/Daily-Backup') <(ssh root@1.1.1.1 'sudo ls -1aR Daily-Backup/')

, которая, кажется, работает для второй части ssh, но при запуске выдает следующую ошибку:

sudo ls -1aR /home/spyros/Daily-Backup: No such file or directory

для на моем компьютере. Есть идеи?

-1
задан 4 March 2016 в 15:15
2 ответа
diff -q <('sudo ls -1aR /home/spyros/Daily-Backup') <(ssh root@1.1.1.1 'sudo ls -1aR Daily-Backup/')

Цитата 'заставляет команду sudo действовать как одну строку, а не cmd с аргументами. Убрать кавычки. Это должно сработать:

diff -q <(sudo ls -1aR /home/spyros/Daily-Backup) <(ssh root@1.1.1.1 'sudo ls -1aR Daily-Backup/')
1
ответ дан 5 December 2019 в 19:49

Используйте rsync с --dry-run. Например, это скажет вам, что нужно изменить, если вы записали свою локальную копию на сервер. Обратите внимание, что синтаксис rsync является особенным, и конечная косая черта имеет значение.

rsync -avP --dry-run --stats /home/spyros/Daily-Backup/ root@1.1.1.1:Daily-Backup/
0
ответ дан 5 December 2019 в 19:49

Теги

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