Recommandé, 2024

Choix De L'Éditeur

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 librement disponibles, 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, la commande tar et la commande date 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écuter en séquence. Si vous exécutez régulièrement une série de commandes dans l’ordre, il est utile de créer un script shell contenant ces commandes. Ensuite, vous devez uniquement 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 l'environnement Gnome sous Ubuntu .

Tout d’abord, accédez à votre répertoire personnel en sélectionnant Dossier personnel dans le menu Lieux . Le navigateur de fichiers s'ouvre dans votre répertoire personnel.

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

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

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

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

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

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

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

Description ligne par ligne

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

Ligne # La description
1 Cette ligne doit être la première ligne d'un script shell bash, qui est le type de script par défaut.
2 Cette ligne configure une variable appelée SRCDIR et en définit la valeur dans le répertoire à sauvegarder.
REMARQUE: Assurez-vous de remplacer avec votre nom d'utilisateur .
3 Cette ligne configure une variable appelée DESTDIR et en définit la valeur dans le répertoire dans lequel le fichier de sauvegarde sera écrit.
REMARQUE: Assurez-vous de remplacer avec votre nom d'utilisateur .
4 Cette ligne configure une variable appelée FILENAME et définit la valeur à l'aide de text et de variables contenant la commande date pour ajouter la date et l'heure actuelles au nom du fichier. Par exemple, le nom du fichier pourrait ê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, mettez la commande et les options de la commande entre parenthèses.
5 Cette ligne est la commande tar avec la fonction et les options suivantes ajoutées.

-créer Cette fonction crée une nouvelle archive (ou en tronque une ancienne si le nom de fichier spécifié existe déjà) et y écrit les fichiers ou le répertoire nommés.
–Gzip Cette option indique à tar de compresser les fichiers de l'archive à l'aide de l'utilitaire gzip .
-fichier Cette option donne à tar le nom du fichier à utiliser. Dans ce cas, nous avons assemblé le nom de fichier à l'aide des variables DESTDIR, FILENAME et SRCDIR .

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 à nouveau votre dossier personnel comme indiqué ci-dessus et cliquez avec le bouton droit de la souris sur le fichier de script shell. Sélectionnez Propriétés dans le menu contextuel.

La boîte de dialogue Propriétés s’affiche. Assurez-vous que la case à cocher Exécuter est activée.

Cliquez sur Fermer .

Exécuter le script shell

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

Lorsque la fenêtre du terminal s'ouvre, vous devriez être dans votre dossier personnel par défaut. Taper pwd sur la ligne de commande et appuyer sur Entrée confirment ce fait. À l'invite, tapez ./user_guide_backups.sh et appuyez sur Entrée .

Vous devriez avoir un fichier .tgz dans le dossier Backups de votre dossier personnel . Si vous cliquez avec le bouton droit sur le nom du fichier, plusieurs options s'offrent à vous pour ouvrir l'archive dans l'un des programmes d'archivage disponibles ou extraire les fichiers directement dans le dossier Sauvegardes à l'aide de la commande Extraire ici .

Plus d'information

Les liens ci-dessous fournissent des informations supplémentaires sur les scripts de shell, les commandes tar et date et d’autres commandes Linux.

Scripting

Guide rapide pour l'écriture de scripts à l'aide du shell bash

Script Bash Shell - Guide 10 secondes | Tout sur Linux

Manuel de référence Bash

Commandes Linux

goudron MAN Page

date MAN Page

commandes bash - Linux MAN Pages

L'exploration de ces pages vous aidera à créer vos propres scripts shell bash utiles.

Top