Frage

Kann mir jemand mit dem Bash-Code und nicht mit dem Shell-Befehl helfen, um zwei Ordner zu synchronisieren? Das habe ich versucht. Ich muss das Verzeichnis d1 mit d2 mit diesem Code synchronisieren, aber mit diesem Code erhalte ich nur die erste Datei in d1, um in d2 ohne den Rest der Datei kopiert zu werden, und was wäre der beste Weg, diesen Code in der Bash-Datei neu zu schreiben, um d2 mit d1 zu synchronisieren?Ich muss mein Problem mit Bash-Code lösen, nicht mit dem Shell-Befehl. Bitte helfen Sie mir bei meinem Code und weisen Sie mich an, mein Problem zu lösen

#!/bin/bash

di1=$(ls d1)


n=${#di1[@]}


for (( i = 1; i <$n+1 ; i++ )); do

      t=$(find d2 -name ${di1[$i]})

    if [[ $t = '' ]]; then

     cp d1/${di1[$i]} d2

    fi

 done

Keine korrekte Lösung

Andere Tipps

rsync -avzh /tmp/src /tmp/dst/

Lassen Sie es mich versuchen, wir müssen genau klären, was Synchronisierung bedeutet:

Nehmen wir an, Sie haben zwei Verzeichnisse

d1
 L f1 10/25 11:40
 L f2 10/25 10:22
 L f4 10/10 08:01
d2
 L f1 10/25 10:11
 L f2 10/26 09:56
 L f3 10/24 11:37

Dabei ist d# ein Verzeichnis und f# eine Datei (und # bedeutet eine beliebige einstellige Zahl, falls Sie es noch nicht herausgefunden haben), mit ihren Zeitstempeln in MM/TT hh:mm.

Sie möchten also f4 nach d2 kopieren, f3 nach d1 kopieren (bis hier nicht überschrieben) und dann d2/f1 mit d1/f1 und d1/f2 mit d2/f2 kopieren (und überschreiben).

dann sollten Sie am Ende Folgendes haben:

d1
 L f1 10/25 11:40
 L f2 10/26 09:56
 L f3 10/24 11:37
 L f4 10/10 08:01
d2
 L f1 10/25 11:40
 L f2 10/26 09:56
 L f3 10/24 11:37
 L f4 10/10 08:01

Nun, alles, was ich bis jetzt getan habe, war, Ihre Frage umzuformulieren, um sicherzugehen, dass sie auf eine Art und Weise formuliert ist, auf die ich sie beantworten kann. Wenn es also schon jemanden gibt, der sie liest, könnte die Lösung so einfach sein:

Aktualisieren Sie die vorhandenen Dateien in beide Richtungen

cp -ur d1 d2
cp -ur d2 d1

das ist es.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top