Я пытаюсь найти различия между каталогом на моем локальном компьютере и удаленном сервере. После множества проб и ошибок я нашел следующую команду из здесь :
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
для на моем компьютере. Есть идеи?
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/')
Используйте rsync с --dry-run. Например, это скажет вам, что нужно изменить, если вы записали свою локальную копию на сервер. Обратите внимание, что синтаксис rsync является особенным, и конечная косая черта имеет значение.
rsync -avP --dry-run --stats /home/spyros/Daily-Backup/ root@1.1.1.1:Daily-Backup/