Verwenden des tar-Dienstprogramms über das Netzwerk über SSH / Sudo Null IT News

GNU-Archivierungsprogramm

Teer

sowie seine älteren Versionen, können mithilfe des Protokolls über eine Netzwerkverbindung verwendet werden

sch

. Aus

telnet

/

nc

sollten Sie ablehnen, da sie die Sicherheit der Verbindung nicht garantieren. Sie können Archive mit Unix/Linux-Pipes erstellen, und im Folgenden werde ich eine Reihe von Anwendungsfällen demonstrieren

Teer

an

sch

zur Archivierung auf Linux, BSD/macOS oder Unix-ähnlichen Systemen.

Syntax für die Verwendung von tar über SSH

Aufbau einer Verbindung zu einem Host

Kasten

an

sch

und Ausführung

Teer

:

$ ssh user@box tar czf – /dir1/ > /destination/file.tar.gz

oder:

$ ssh user@box ‘cd /dir1/ && tar -cf – file | gzip -9’ >file.tar.gz

Der folgende Befehl sichert das Verzeichnis

/wwwdata

auf dem Host

dumpserver.nixcraft.in (IP 192.168.1.201)

an

sch

:

$ tar zcvf – /wwwdata | ssh user@dumpserver.nixcraft.in “cat > /backup/wwwdata.tar.gz”

oder:

$ tar zcvf – /wwwdata | ssh vivek@192.168.1.201 “cat > /backup/wwwdata.tar.gz”

Beispielausgabe:

tar: Führendes `/’ aus Mitgliedsnamen entfernen /wwwdata/ /wwwdata/n/nixcraft.in/ /wwwdata/c/cyberciti.biz/ …. .. … Passwort:

Im folgenden Beispiel archivieren wir

/daten2/

zusammen mit der Verwendung

gpg

:

$ tar zcf – /data2/ | gpg -e | ssh vivek@nas03 ‘cat -> data2-dd-mm-yyyy.tar.gz.gpg’

Bitte beachten Sie dies bei der Verwendung

sudo

oder jedem anderen Befehl, der eine Pseudo-Terminal-Zuweisung erfordert, kann hier ein Fehler auftreten:

sudo: Entschuldigung, Sie müssen ein tty haben, um sudo auszuführen

Um dies zu vermeiden, müssen Sie das Team begleiten

sch

Flagge

-t

:

$ tar zcvf – /wwwdata | ssh -t vivek@192.168.1.201 “sudo cat > /backup/wwwdata.tar.gz”

Das Kopieren von einem Remote-Rechner (server1.cyberciti.biz) auf das lokale System erfolgt wie folgt:

$ cd /path/local/dir/ $ ssh vivek@server1.cyberciti.biz ‘tar zcf – /some/dir’ | tar zxf-

▍ Festplattensicherung/-spiegelung unter Linux

Befehl zum Kopieren der gesamten Festplatte

/dev/sdvf

vom lokalen Rechner zum AWS EC2-Cloud-Sicherungsserver:

$ dd if=/dev/sdvf | ssh backupimg@vpc-aws-mumbai-backup-001 ‘dd of=prod-disk-hostname-sdvf-dd-mm-yyyy.img’

Um eine lokale Festplatte von einem Image vom Server wiederherzustellen, muss dieser Befehl rückgängig gemacht werden. Wenn wir das obige Beispiel fortsetzen, sieht es so aus:

$ ssh backupimg@vpc-aws-mumbai-backup-001 ‘dd if=prod-disk-hostname-sdvf-dd-mm-yyyy.img’ | ddof=/dev/sdvf

▍ Übertragen von Daten auf ein neues Linux-System

Ein Problem mit

scp

und andere Befehle, die die Verzeichnisstruktur kopieren, indem symbolische Links, spezielle Gerätedateien, Sockets, Named Pipes und andere Komponenten nicht kopiert werden. Deshalb verwenden wir

Teer

an

sch

. Kopieren wir zum Beispiel alle Daten aus

Nuk-Box

.

Ich öffne ein Terminal und führe den ssh-Befehl zusammen mit tar aus:

$ ssh vivek@nuc-box ‘tar czf – /home/vivek’ | tar xvzf – -C /home/vivek

▍ Anwenden von tar über SSH auf ein Bandlaufwerk

Unter Linux ist standardmäßig das erste SCSI-Bandlaufwerk

/dev/st0

. Sie können mehr über die Namenskonvention für solche Laufwerke in Linux lesen.

hier (englisch)

. Für mehr Klarheit können Sie den Befehl verwenden

dd

:

$ tar cvzf – /wwwdata | ssh root@192.168.1.201 “dd of=/backup/wwwdata.tar.gz”

Es besteht auch die Möglichkeit, die Sicherung an ein entferntes Bandgerät zu senden:

$ tar cvzf – /wwwdata | ssh root@192.168.1.201 “cat > /dev/nst0”

Mit dem Befehl

mt

Sie können das Band zurückspulen und es dann mit dem Befehl ausgeben

Katze

:

$ tar cvzf – /wwwdata | ssh root@192.168.1.201 $(mt -f /dev/nst0 zurückspulen; cat > /dev/nst0)$

▍ Tar über SSH extrahieren

Die Syntax für diese Operation ist recht einfach:

$ cat meine-daten.tar.gz | ssh user@server1.cyberciti.biz “tar zxvf -” $ cat meine-daten.tar.gz | ssh user@server1.cyberciti.biz “cd /path/to/dest/; tar zxvf -“

In diesem Beispiel wird eine Sicherung von einem Remote-Computer in einem lokalen Verzeichnis mithilfe von wiederhergestellt

sch

:

$ cd / $ ssh root@192.168.1.201 “cat /backup/wwwdata.tar.gz” | tar zxvf-

Wenn Sie sich entscheiden, diesen Befehl in Aufgaben zu verwenden

Cron

oder Skripte, erwägen Sie die Verwendung von Schlüsseln

sch

Passwörter auszuschließen.

▍ Archiv mit Fortschrittsbalken erstellen

Das Dienstprogramm pv ist möglicherweise nicht standardmäßig auf Ihrem System vorhanden. Verwenden Sie in diesem Fall apk unter Alpine Linux, dnf/yum unter RHEL & Co, apt/apt-get unter Debian und Ubuntu & Co, zypper unter SUSE/OpenSUSE, pacman unter Arch Linux, um es zu installieren.

Mannschaft

pv

ermöglicht es Ihnen, den Fortschritt der Daten zu überwachen, die durch den Kanal geleitet werden. Hier ist seine Syntax:

$ cd /dir/to/backup/ $ tar zcf – . | PV | ssh vivek@server1.cyberciti.biz “cat > /backups/box42/backup-dd-mm-yyyy.tgz” $ cd /tmp/data/ $ tar zcf – . | \pv | \ssh vivek@centos7 “Katze > /tmp/data.tgz”

▍ Weitere Beispiele für die Verwendung von tar über SSH

$ tar cvjf – * | ssh vivek@nixcraft “(cd /dest/; tar xjf -)” $ tar cvzf – mydir/ | ssh vivek@backupbox “cat > /backups/meinedatei.tgz” $ tar cvzf – /var/www/html | ssh vivek@server1.cyberciti.biz “dd of=/backups/www.tar.gz” $ ssh vivek@box2 “cat /backups/www.tar.gz” | tar xvzf – $ tar cvjf – * | ssh root@home.nas02 “(cd /dest/; tar xjf – )”

Weitere Details zur Verwendung von Befehlen

Teer

/

sch

/

bash

finden Sie unter Verwendung

Hilfe

oder

Mann

:

$ man tar $ man bash $ man ssh

▍Hinweis zu SSHFS

Mit Hilfe

sshfs

Sie können entfernte Verzeichnisse mounten und ausführen

Teer

:

$ mkdir /data/ $ sshfs vivek@server1.cyberciti.biz:/ /data/ $ tar -zcvf /data/file.tar.gz /home/vivek/

▍ Fazit

In diesem kurzen Artikel haben wir uns kurz mit den Nutzungsmöglichkeiten vertraut gemacht

Teer

in Sitzungen

sch

zur sicheren Übertragung von Archiven, Dateien und Bildern. In einigen Fällen kann die beidseitige Komprimierung vermieden werden, um die Übertragung zu beschleunigen. Zum Beispiel so:

$ tar cvf – /wwwdata | ssh user@dumpserver.nixcraft.in “cat > /backup/wwwdata.tar” $ ssh vivek@server1 ‘tar c .’ | tar xvf – -C /home/vivek/

Similar Posts

Leave a Reply

Your email address will not be published.