Sauvegarder un répertoire sous Linux à l’aide d’un script Shell

Il existe plusieurs options pour sauvegarder vos données sous Linux. Vous pouvez utiliser certains logiciels disponibles gratuitement, tels que fwbackups et Sbackup. Cependant, il existe une méthode simple pour sauvegarder un répertoire sans installer de logiciel supplémentaire.

Nous allons créer un script shell en utilisant des variables, le le goudron commande et le Date commande pour créer un fichier de sauvegarde daté d’un répertoire, avec ses sous-répertoires.

Un script shell est essentiellement un fichier contenant une liste de commandes exécutées en séquence. Si vous avez une série de commandes que vous exécutez régulièrement dans l’ordre, il est utile de créer un script shell contenant ces commandes. Ensuite, il vous suffit d’exécuter le fichier de script pour exécuter les commandes.

Création du fichier de script Shell

Pour cet exemple, nous allons créer un script shell pour sauvegarder un répertoire contenant des fichiers pour un guide de l’utilisateur. Nous utilisons le Gnome environnement dans Ubuntu.

Tout d’abord, accédez à votre répertoire personnel, en sélectionnant Dossier personnel du Des endroits menu. le Navigateur de fichiers s’ouvre dans votre répertoire personnel.

Ouverture du dossier de départ

Nous allons créer un nouveau fichier vide dans lequel nous entrerons les commandes pour effectuer la sauvegarde. Cliquez avec le bouton droit dans le volet droit et sélectionnez Créer un document | Fichier vide dans le menu contextuel.

Création d'un fichier de script shell vide

Un fichier est ajouté à la liste et est prêt à être renommé. Tapez un nom pour le fichier, en donnant au fichier une extension de .sh.

Nouveau fichier prêt à être renommé

Pour cet exemple, nous avons nommé notre fichier user_guide_backups.sh.

Fichier de script Shell renommé

Nous devons maintenant ajouter les commandes au fichier. Faites un clic droit sur le nom du fichier et sélectionnez Ouvrir avec gedit dans le menu contextuel.

Ouverture du fichier de script shell avec gedit

Le fichier s’ouvre dans gedit. Entrez les lignes suivantes dans le fichier et cliquez sur sauver. Le but de chaque ligne est indiqué ci-dessous.

REMARQUE: Vous pouvez également copier le texte suivant et le coller dans gedit. Assurez-vous de changer à votre nom d’utilisateur.

#!/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

Modification du fichier de script shell dans gedit

Description ligne par ligne

Le tableau suivant décrit le contenu de chaque ligne dans le fichier de script shell.

Ligne #La description
1Cette ligne doit être la première ligne d’un script shell bash, qui est le type de script par défaut.
2Cette ligne définit une variable appelée SRCDIR et définit la valeur de celui-ci sur le répertoire à sauvegarder.
REMARQUE: Assurez-vous de remplacer avec votre Nom d’utilisateur.
3Cette ligne définit une variable appelée DESTDIR et définit la valeur de celui-ci sur le répertoire dans lequel le fichier de sauvegarde sera écrit.
REMARQUE: Assurez-vous de remplacer avec votre Nom d’utilisateur.
4Cette ligne définit une variable appelée NOM DE FICHIER et définit la valeur à l’aide du texte et des variables contenant le Date commande pour ajouter la date et l’heure actuelles au nom de fichier. Par exemple, le nom de fichier peut être ug-20100212-13: 03: 45.tgz.
REMARQUE: Lorsque vous utilisez une variable, commencez toujours par le signe dollar ($). Si vous utilisez une commande dans le cadre d’une variable, placez la commande et les options de la commande entre parenthèses.
5Cette ligne est le le goudron commande avec la fonction et les options suivantes ajoutées.

-créerCette fonction crée une nouvelle archive (ou tronque une ancienne si le nom de fichier spécifié existe déjà) et y écrit les fichiers ou le répertoire nommés.
–GzipCette option indique à tar de compresser les fichiers de l’archive en utilisant le gzip utilitaire.
-fichierCette option donne à tar le nom de fichier à utiliser. Dans ce cas, nous avons assemblé le nom de fichier en utilisant le DESTDIR, NOM DE FICHIER, et SRCDIR variables.

Modification des autorisations sur le fichier de script Shell

Avant d’exécuter votre script, vous devez vous assurer que le fichier dispose des autorisations appropriées. Pour ce faire, ouvrez votre Dossier personnel à nouveau comme mentionné ci-dessus et cliquez avec le bouton droit sur le fichier de script shell. Sélectionner Propriétés dans le menu contextuel.

Obtenir les propriétés du fichier de script shell

le Propriétés la boîte de dialogue s’affiche. Assurez-vous que le Exécuter la case est cochée.

Autorisations du fichier de script Shell

Cliquez sur Fermer.

Exécution du script Shell

Pour exécuter le script shell, ouvrez une fenêtre de terminal en sélectionnant Accessoires | Terminal du Applications menu.

Ouverture d'une fenêtre de terminal

Quand le Terminal la fenêtre s’ouvre, vous devriez être dans votre Dossier personnel par défaut. Dactylographie pwd sur la ligne de commande et en appuyant sur Entrée confirme ce fait. À l’invite, tapez ./user_guide_backups.sh et appuyez sur Entrer.

Exécution du script shell

Vous devriez avoir un .tgz fichier dans le dossier Sauvegardes de votre Dossier personnel. Si vous cliquez avec le bouton droit sur le nom du fichier, vous voyez plusieurs options pour ouvrir l’archive dans l’un des programmes d’archivage disponibles ou pour extraire les fichiers directement dans le Sauvegardes dossier en utilisant le Extraire ici commander.

Options du menu contextuel pour le fichier .tgz

Plus d’information

Les liens ci-dessous fournissent plus d’informations sur les scripts shell, le le goudron et Date commandes et autres commandes Linux.

Scripting

Un guide rapide pour écrire des scripts à l’aide du shell bash

Scripting Bash Shell – Guide de 10 secondes | Tout sur Linux

Manuel de référence Bash

Commandes Linux

Page MAN tar

date MAN Page

commandes bash – Pages MAN Linux

Explorer ces pages vous aidera à construire vos propres scripts shell bash utiles.