GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So schließen Sie bestimmte Verzeichnisse vom Kopieren in Linux aus

Vor einiger Zeit haben wir darüber gesprochen, wie man Dateien bestimmter Größe vom Kopieren ausschließt mit rsync in Unix-ähnlichen Systemen. Diese Methode hat uns geholfen, die großen oder weniger wichtigen Dateien auszuschließen, um den Kopiervorgang so schnell wie möglich abzuschließen. So können wir die restlichen Dateien später kopieren, wenn wir Freizeit haben. Heute werden wir in dieser kurzen Anleitung sehen, wie man bestimmte Verzeichnisse vom Kopieren mit Rsync ausschließt und cp Befehle unter Linux.

Bestimmte Verzeichnisse vom Kopieren unter Linux ausschließen

Es könnte viele Möglichkeiten geben, diese Aufgabe zu erledigen. Mir sind folgende zwei Methoden bekannt.

Methode 1 – mit rsync Befehl

Wie Sie vielleicht bereits wissen, ist Rsync ein schnelles und vielseitiges Tool zum lokalen Kopieren von Dateien und Ordnern oder zu/von einem anderen Host über eine Remote-Shell oder zu/von einem Remote-rsync-Daemon. Rsync hat viele nützliche Optionen. Eine der nützlichen Optionen ist --exclude . Verwendung von ausschließen Option können wir bestimmte Dateien/Verzeichnisse vom Kopieren ausschließen. Lassen Sie uns anhand eines Beispiels sehen, wie das geht.

Nehmen wir an, Sie haben einen Ordner namens ostechnix . Innerhalb des Verzeichnisses ostechnix gibt es drei Unterverzeichnisse, nämlich dir1dir2 und dir3 .

$ ls ostechnix/
dir1 dir2 dir3

Sie möchten dir1 kopieren und dir3 an einen anderen Ort, aber nicht dir2 . Wie? Hier kommt rsync ins Spiel.

Um ein bestimmtes Verzeichnis vom Kopieren mit dem Befehl rsync auszuschließen, führen Sie einfach Folgendes aus:

$ rsync -av --progress ostechnix/ backup/ --exclude dir2

Beispielausgabe wäre:

sending incremental file list
./
dir1/
dir1/file1.pdf
 6,152,611 100% 58.36MB/s 0:00:00 (xfr#1, to-chk=7/11)
dir1/file2
 2,597,261 100% 14.83MB/s 0:00:00 (xfr#2, to-chk=6/11)
dir1/file3.doc
 88,143 100% 470.37kB/s 0:00:00 (xfr#3, to-chk=5/11)
dir1/file4.txt
 66,374 100% 330.71kB/s 0:00:00 (xfr#4, to-chk=4/11)
dir3/
dir3/file1.pdf
 6,152,611 100% 18.39MB/s 0:00:00 (xfr#5, to-chk=3/11)
dir3/file2
 2,597,261 100% 6.68MB/s 0:00:00 (xfr#6, to-chk=2/11)
dir3/file3.doc
 88,143 100% 224.16kB/s 0:00:00 (xfr#7, to-chk=1/11)
dir3/file4.txt
 66,374 100% 164.10kB/s 0:00:00 (xfr#8, to-chk=0/11)

sent 17,813,759 bytes received 187 bytes 11,875,964.00 bytes/sec
total size is 17,808,778 speedup is 1.00

Der obige Befehl kopiert den gesamten Inhalt des Ordners ostechnix in einen Ordner namens backup , und es schließt das Verzeichnis dir2 aus vor dem Kopieren.

Alternativ können Sie denselben Befehl wie unten verwenden.

$ rsync -av --progress --exclude="folder_to_exclude" source_dirctory dest_directory

Beispiel:

$ rsync -av --progress --exclude="dir2" ostechnix/ backup/

Es ist tatsächlich eine gute Idee, einige große oder weniger wichtige Verzeichnisse vom Kopieren auszulassen oder auszuschließen, während Sie Ihr System mit rsync sichern, um Zeit zu sparen.

Weitere Einzelheiten finden Sie in den Manpages.

$ man rsync

Lesen Sie auch:

  • So übertragen Sie schnell große Dateien über das Netzwerk unter Linux und Unix
  • So finden Sie die Größe eines Verzeichnisses in Linux über die Befehlszeile

Methode 2 - Verwendung von cp Befehl

Wir können auch cp verwenden Befehl zum Kopieren von Ordnern von einem Ort zum anderen, mit Ausnahme bestimmter Verzeichnisse.

Gehen Sie in Ihr Quellverzeichnis, in unserem Fall ostechnix.

$ cd ostechnix/

Und führen Sie den folgenden Befehl aus:

$ cp -r `ls -A | grep -v "dir2"` /home/sk/backup/

Der obige Befehl kopiert alle Inhalte des aktuellen Ordners ostechnix außer dem Unterverzeichnis dir2 und speichert sie unter /home/sk/backup/ Verzeichnis.

Noch einfacher können wir dies wie folgt machen.

$ cp -r !(dir2) /home/sk/backup/

Weitere Einzelheiten finden Sie in den Manpages.

$ man cp

Linux
  1. So benennen Sie ein Verzeichnis unter Linux um

  2. Linux – Wie führe ich einen Bootloader von Linux aus?

  3. Wie verwende ich den Befehl 'cp', um ein bestimmtes Verzeichnis auszuschließen?

  4. Wie kann ich Verzeichnisse von grep -R ausschließen?

  5. Wie verwende ich rsync vom Windows-PC zum Remote-Linux-Server?

So verwenden Sie rsync zum Ausschließen von Dateien und Verzeichnissen bei der Datenübertragung

So schließen Sie Dateien und Verzeichnisse mit Rsync aus

So benennen Sie Verzeichnisse in Linux um

So erstellen Sie Verzeichnisse aus einer Textdatei unter Linux

So navigieren Sie unter Linux schneller durch Verzeichnisse

So sichern Sie Dateien und Verzeichnisse mit Rsync unter Linux