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.

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.


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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.