Sichern Sie ein Verzeichnis in Linux mit einem Shell-Skript


Es gibt verschiedene Möglichkeiten, Ihre Daten unter Linux zu sichern. Sie können einige frei verfügbare Softwareprogramme verwenden, z. B. fwbackups und Sbackup. Es gibt jedoch eine einfache Methode zum Sichern eines Verzeichnisses, ohne dass zusätzliche Software installiert werden muss.

Wir erstellen ein Shell-Skript mit Variablen, dem tar-Befehl und dem DatumBefehl zum Erstellen einer veralteten Sicherungsdatei eines Verzeichnisses mit seinen Unterverzeichnissen.

Ein Shell-Skript ist im Wesentlichen eine Datei, die eine Liste von Befehlen enthält, die nacheinander ausgeführt werden. Wenn Sie eine Reihe von Befehlen haben, die Sie regelmäßig in der richtigen Reihenfolge ausführen, ist es hilfreich, ein Shell-Skript zu erstellen, das diese Befehle enthält. Dann müssen Sie nur die Skriptdatei ausführen, um die Befehle auszuführen.

Erstellen der Shell-Skriptdatei

In diesem Beispiel erstellen wir ein Shell-Skript zum Sichern eines Verzeichnisses Dateien für ein Benutzerhandbuch enthalten. Wir verwenden die GnomeUmgebung in Ubuntu.

Greife zuerst auf dein Home-Verzeichnis zu, indem du Home Folderaus der OrteMenü. Der Dateibrowseröffnet sich in Ihrem Home-Verzeichnis.

Opening the home folder

Wir werden eine neue leere Datei erstellen, in der wir gibt die Befehle zum Ausführen der Sicherung ein. Klicken Sie mit der rechten Maustaste in den rechten Bereich und wählen Sie Dokument erstellen | Leere Dateiaus dem Popup-Menü.

Creating an empty shell script file

Eine Datei wird zur Liste hinzugefügt und kann umbenannt werden. Geben Sie einen Namen für die Datei ein und geben Sie der Datei die Erweiterung .sh.

New file ready to be renamed

In diesem Beispiel Wir haben unsere Datei user_guide_backups.shgenannt.

Shell script file renamed

Jetzt müssen wir die Befehle zur Datei hinzufügen. Klicken Sie mit der rechten Maustaste auf den Namen der Datei und wählen Sie im Popup-Menü Öffnen mit gedit.

Opening shell script file with gedit

Die Datei wird in geditgeöffnet. Geben Sie die folgenden Zeilen in die Datei ein und klicken Sie auf Speichern. Der Zweck jeder Zeile ist unten aufgeführt.

HINWEIS:Sie können auch den folgenden Text kopieren und in gediteinfügen. Achten Sie darauf, & lt; Benutzername & gt;zu Ihrem Nutzernamen zu ändern.

#!/bin/bash
SRCDIR="/home/<username>/Documents/my_work/" DESTDIR="/home/<username>/Backups/" FILENAME=ug-$(date +%-Y%-m%-d)-$(date +%-T).tgz tar --create --gzip --file=$DESTDIR$FILENAME $SRCDIR

Editing shell script file in gedit

Linie -by-Line Beschreibung

Die folgende Tabelle beschreibt, was jede Zeile in der Shell-Skriptdatei ist.

Linie # Beschreibung 1 Diese Zeile muss die erste Zeile in einem Bash-Shell-Skript sein, welches der Standardtyp des Skripts ist. 2 Diese Zeile richtet eine Variable namens SRCDIRein und legt den Wert für das Verzeichnis fest, das gesichert werden soll.
HINWEIS:Ersetzen Sie & lt; Benutzername & gt;durch Ihren Nutzernamen. 3 Diese Zeile richtet eine Variable mit dem Namen DESTDIRein und setzt den Wert in das Verzeichnis, in das die Sicherungsdatei geschrieben wird.
HINWEIS:Ersetzen Sie & lt; Benutzername & gt;unbedingt durch Ihren Nutzernamen. 4 Diese Zeile richtet eine Variable namens FILENAMEein und setzt den Wert über Text und Variablen mit Mit dem Befehl Datumfügen Sie dem Dateinamen das aktuelle Datum und die aktuelle Uhrzeit hinzu. Beispielsweise könnte der Dateiname ug-20100212-13: 03: 45.tgzlauten.
HINWEIS:Wenn Sie eine Variable verwenden, beginnen Sie sie immer mit dem Dollarzeichen ($) Wenn Sie einen Befehl als Teil einer Variablen verwenden, schließen Sie den Befehl und die Optionen für den Befehl in Klammern ein. 5 Diese Zeile ist der Befehl tarmit der folgenden Funktion und den hinzugefügten Optionen.
- erstellen Diese Funktion erstellt ein neues Archiv (oder schneidet ein altes ab, wenn der angegebene Dateiname bereits existiert) und schreibt die benannten Dateien oder das Verzeichnis dorthin. -gzip Diese Option weist tar an, die Dateien im Archiv mit dem Dienstprogramm gzipzu komprimieren. - Datei Diese Option gibt tar den zu verwendenden Dateinamen an. In diesem Fall haben wir den Dateinamen mit den Variablen DESTDIR, FILENAMEund SRCDIRzusammengestellt.

Bearbeiten der Berechtigungen für die Shell-Skriptdatei

Bevor Sie Ihr Skript ausführen, müssen Sie sicherstellen, dass Datei hat die richtigen Berechtigungen. Öffnen Sie dazu erneut Ihren Home-Ordnerund klicken Sie mit der rechten Maustaste auf die Shell-Skriptdatei. Wählen Sie im Popup-Menü Eigenschaften.

Getting the properties of the shell script file

Das Dialogfeld Eigenschaftenwird angezeigt . Stellen Sie sicher, dass das Kontrollkästchen Ausführenaktiviert ist.

Shell script file permissions

Klicken Sie auf Schließen.

Ausführen des Shell-Skripts

Um das Shell-Skript auszuführen, öffnen Sie ein Terminal-Fenster, indem Sie Zubehör | auswählen Terminalaus dem Anwendungen-Menü.

Opening a Terminal window

Wenn das Terminal-Fenster angezeigt wird öffnet, sollten Sie standardmäßig in Ihrem Home-Ordnersein. Wenn Sie in der Befehlszeile pwdeingeben und die Eingabetaste drücken, wird dies bestätigt. Geben Sie an der Eingabeaufforderung ./ user_guide_backups.shein und drücken Sie Eingabe.

Running the shell script

Sie sollten eine Datei .tgzim Ordner "Backups" in Ihrem Home Folderhaben. Wenn Sie mit der rechten Maustaste auf den Dateinamen klicken, sehen Sie mehrere Optionen zum Öffnen des Archivs in einem der verfügbaren Archivierungsprogramme oder Extrahieren der Dateien direkt in den Ordner Backupsmit dem Hier extrahierenBefehl.

Pop-up menu options for .tgz file

Weitere Informationen

Die folgenden Links enthalten weitere Informationen zu Shell-Skripts, dem tarund date-Befehle und andere Linux-Befehle.

Skripting

Eine kurze Anleitung zum Schreiben von Skripten mit der Bash-Shell

Bash Shell Scripting - 10 Sekunden Handbuch | Alles über Linux

Bash Referenzhandbuch

Linux-Befehle

Teer MAN

Datum MAN Seite

Bash-Befehle - Linux MAN Pages

Wenn Sie diese Seiten erkunden, können Sie Ihre eigenen nützlichen Bash-Shell-Skripte erstellen.

Linux Shell Script to Backup Files

Zusammenhängende Posts:


16.02.2010