Unix-Äquivalent von XCOPY / D

10546
Cassidy Laidlaw

Windows hat eine nette Option für seinen XCOPY-Befehl: / D. Dadurch werden nur Dateien kopiert, deren Quelländerungszeitpunkt neuer als die Zielzeit ist. Gibt es ein Unix / Linux-Äquivalent davon? Ich versuche, eine schnelle Kopie an meinen lokalen Testserver zu erhalten.

3
Dies sollte bei SuperUser erfragt werden, da es nichts mit der Programmierung zu tun hat. SLaks vor 14 Jahren 0

3 Antworten auf die Frage

9
Brett Daniel
cp --update src dest 

Aus der Manpage:

Nur kopieren, wenn die Quelldatei neuer als die Zieldatei ist oder wenn die Zieldatei fehlt

7
Eduardo Romero

Normalerweise mache ich:

rsync -avz /from/where/ /to/dest/ 

Wenn Sie möchten, dass Dateien gelöscht werden, die in / from / where nicht mehr vorhanden sind, fügen Sie --delete hinzu .

Es kann auch aus verschiedenen Boxen verwendet werden:

rsync -avz eromero@mydevbox.org:/from/where/ eromero@mybox.org:/to/dest/ 
Normalerweise würde ich dem letzten "-e ssh" hinzufügen. Ich mag es nicht, einen rsync-Server zu betreiben, weil er nicht sicher genug ist. Paul Tomblin vor 14 Jahren 0
Ich war unter den Eindrücken, die Rsync standardmäßig ssh verwendet. Ich denke, Sie benötigen zwei Doppelpunkte, um einen Rsync-Server anzugeben. Ryan Thompson vor 14 Jahren 0
Oh ja, Sie möchten vielleicht die Option --update verwenden, wenn Sie nicht neuere Dateien im Ziel, sondern nur ältere Dateien überschreiben möchten. Es hängt davon ab, ob Sie die beiden Verzeichnisse nur effizient synchronisieren möchten oder ob Sie das genaue oben beschriebene Verhalten mit den Änderungszeiten wünschen. Ryan Thompson vor 14 Jahren 0
Ja, es verwendet standardmäßig ssh. Sie müssen weitere "Optionen" für Rsync hinzufügen. Lustig, nicht wahr? Eduardo Romero vor 14 Jahren 0
2
Gannet

Mein Gehirn konnte die Komplexität von rsync nicht ganz bewältigen, also installierte ich Lucky Backup . Dies bietet eine einfach zu bedienende grafische Oberfläche als Front-End für Rsync. Wenn Sie Ihre Kopier- / Sicherungsaufgabe eingerichtet haben, können Sie sie vom Programm aus ausführen. Sie können auch auf die Schaltfläche "Validieren" für die Aufgabe klicken, und Sie erhalten die vollständige rsync-Befehlszeile, sodass Sie sie in einem Terminal ausführen oder in ein Shell-Skript einfügen können. Es ist ein schönes Werkzeug, um die Verwendung von Rsync zu lehren.

Screen Shot of Lucky Backup

Durch Klicken auf die Schaltfläche "Erweitert" im Fenster "Task-Eigenschaften" erhalten Sie Zugriff auf einige Funktionen von rsync.

Können Sie Ihre Antwort mit ein paar Screenshots erweitern? Ihre Antwort liest sich ein bisschen wie Spam. bwDraco vor 9 Jahren 1
Ich habe versucht, einen Screenshot hinzuzufügen, aber das System verlangte, dass ich mindestens 10 Ruf hatte! Ich habe stattdessen einen Link hinzugefügt. Gannet vor 9 Jahren 0