Über die Linux-Befehlszeile benutze ich den scp
Befehl, um alle Dateien und Ordner aus einem bestimmten Verzeichnis zu kopieren. Ich mag es jedoch nicht, Bandbreite zu verbrauchen, da ich zum Kopieren nur selten Änderungen an meinem tiny_mce
Ordner vornehme. Was ist der Trick, um alles zu kopieren, aber eine kurze Liste von Ordnern zu überspringen?
ssh
synchronization
file-copy
remote
Michael Prokopec
quelle
quelle
Sie könnten versuchen, rsync, das nur Dateien kopiert, die sich geändert haben, funktioniert auch über ssh.
quelle
Verwenden
rsync --exclude
ist hier die naheliegendere Wahl, aber wenn Sie wirklich nur ein paar Dateien oder Ordner senden und etwas Besonderes ausschließen möchten, können Sie Shell-Globing mit verwendenscp
. Stellen Sie zunächst sicher, dass in Ihrer Shell die richtigen Globing-Optionen festgelegt sind. Für Bash Runshopt -s extglob
und für zshsetopt ksh_glob
. Dann etwa so:... kopiert alles in den Quellordner mit Ausnahme von Dingen, die dem angegebenen Muster entsprechen. Natürlich können Sie mit diesem Teil kreativ werden.
quelle
rsync
ist eine gute Lösung, aber wenn Sie nach einer Alternative suchen:Nehmen wir an, wir haben ein Verzeichnis "test", das die Verzeichnisse "foo, bar, baz" enthält. In diesen Verzeichnissen befinden sich eine Reihe verschiedener Dateitypen:
Wir wollen alles außer den PNGs kopieren
In diesem Beispiel werden mit dem Befehl alle Dateien in dasselbe Zielverzeichnis verschoben. Dies ist möglicherweise nicht das gewünschte Verhalten.
quelle
\[*?
) enthalten.Ein großartiges Tool, das Sie ausprobieren möchten, ist "lftp".
Sie können RSync auch über ssh verwenden
Sollte arbeiten.
quelle
Ich habe gerade zu Ende geschrieben, wie ich es vorziehe , jeden Tag unisono zu synchronisieren , seitdem
*.bak
. Beispiele in meiner Konfigurationsdateiquelle
Verwenden von Secure Copy - scp
scp -r file user@host:
Um viele Dateien zu kopieren
scp /directory/* user@host:destinationPath
So kopieren Sie einige Dateien
scp /directory/!(*.doc) user@host:destinationPath
Es kopiert den Inhalt des Verzeichnisses mit Ausnahme der DOC- Dateien
quelle
Ich würde dir auf jeden Fall rsync empfehlen.
rsync -vra --exclude = "was Sie ausschließen möchten" -e ssh Ordner user @ remotehost: / Ordner
quelle
Das hat bei mir funktioniert, als ich es vom Zielserver aus ausgeführt habe.
quelle
Wir können es in zwei Schritten tun, um das
tiny_mce
Verzeichnis zu ignorieren . Angenommen, alle Verzeichnisse beginnen mit Kleinbuchstaben.Ändern Sie außerdem USER, HOSTNAME und FOLDER in die tatsächlichen Werte.
quelle