diff sagt, dass Dateien auch nach der Synchronisierung mit rsync unterschiedlich sind

-1

Um zwei Verzeichnisse zu synchronisieren, starte ich

diff -r -q path/to/dir1 path/to/dir2 1>/dev/null
if [[ $? == "0" ]]
then
  echo "Directories are exact copies of each other"
else
  rsync -av --delete path/to/dir1 path/to/dir2
fi

Wenn ein Skript jedoch erneut ausgeführt wird, gibt diff an, dass die Verzeichnisse immer noch unterschiedlich sind.

Wenn Sie jedoch zwei leere Ordner testund erstellen sync, sagt diff, dass sie identisch sind.

Narusan
quelle

Antworten:

1

Du bräuchtest:

diff -r -q path/to/dir1 path/to/dir2/dir1 1>/dev/null
if [[ $? == "0" ]]
then
  echo "Directories are exact copies of each other"
else
  rsync -av --delete path/to/dir1 path/to/dir2
fi

Da rsync wird einen neuen Ordner erstellen dir1in dir2wirklich den ganzen zu bewahren dir1Ordner und es ist nicht nur die Inhalte.

Testeaxeax
quelle
Wie kann ich rsync ausführen, um den Inhalt von dir zu synchronisieren, ohne ein neues Unterverzeichnis zu erstellen?
Narusan
1
@Narusan Sie würden brauchen rsync -ar --delete path/to/dir1 path/to/dir2, -r steht für --recursive.Weitere Informationen finden Sie im Handbuch von rsync (Um das Handbuch zu öffnen, verwenden Sie man rsync.).
Testeaxeax