Si vous n'avez pas besoin de différencier les détails dans le fichier, obtenez simplement la différence entre le répertoire et le nom du fichier, puis essayez ceci :
(Remarque :besoin de définir "Connexion SSH sans mot de passe", pour plus de détails, consultez cette URL :http://www.linuxproblem.org/art_9.html)
diff <(ssh [email protected] ls -R /home/admin) <(ls -R /home/admin)
Vous pouvez monter le répertoire distant via sshfs
, alors vous pouvez utiliser diff -r
pour comparer les deux répertoires comme vous voulez le faire.
Vous pouvez également exécuter un find
similaire commandes sur les deux machines pour imprimer les arborescences de fichiers (par exemple, les noms de fichiers, les tailles et les dates) puis comparer les sorties des deux en utilisant diff
. Cela ne comparerait pas le contenu des fichiers, bien sûr :
diff <(ssh host find /home/admin -printf '"%8s %P\n"') \
<(find /home/admin -printf '%8s %P\n')
Remarquez les doubles guillemets de la chaîne printf-format dans le ssh
appel. Une couche est supprimée par le ssh
relais.
Essayez d'utiliser "rsync" avec l'option "-n", qui fait juste un "essai à blanc" et vous dit ce qu'il ferait.