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, la commande taret la 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 qui sont 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 suffit d'exécuter le fichier de script pour exécuter les commandes.

Créer le 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 Gnomedans Ubuntu.

D'abord, accédez à votre répertoire personnel en sélectionnant Dossier personnelà Lieux. Le Navigateur de fichierss'ouvre dans votre répertoire personnel.

Opening the home folder

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

Creating an empty shell script file

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.

New file ready to be renamed

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

Shell script file renamed

Maintenant, nous devons ajouter les commandes au fichier. Cliquez avec le bouton droit sur le nom du fichier et sélectionnez Ouvrir avec geditdans le menu contextuel.

Opening shell script file with gedit

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.

REMARQUE:Vous pouvez également copier le texte suivant et le coller dans gedit. Assurez-vous de changer & lt; nom d'utilisateur & gt;à 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

Editing shell script file in gedit

Ligne Description par ligne

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

Ligne # 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 SRCDIRet en définit la valeur dans le répertoire à sauvegarder.
NOTE:Veillez à remplacer & lt; nom d'utilisateur & gt;par votre nom d'utilisateur. 3 Cette ligne définit une variable appelée DESTDIRet définit sa valeur dans le répertoire dans lequel le fichier de sauvegarde sera écrit.
REMARQUE:Veillez à remplacer & lt; nom d'utilisateur & gt;par votre nom d'utilisateur. 4 Cette ligne définit une variable appelée FILENAMEet définit la valeur en utilisant du texte et des variables contenant la commande datepour 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. 5 Cette ligne est la commande taravec la fonction et les options suivantes ajoutées:
- créer Cette 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. -gzip Cette option indique à tar de compresser les fichiers dans l'archive en utilisant l'utilitaire gzip. - fichier Cette option donne à tar le nom de fichier à utiliser. Dans ce cas, nous avons assemblé le nom de fichier en utilisant les variables DESTDIR, FILENAMEet SRCDIR.

Modification des autorisations sur le fichier de script Shell

Avant d'exécuter votre script, vous devez vous assurer que le le fichier a les permissions correctes. Pour ce faire, ouvrez à nouveau votre Dossier personnelcomme indiqué ci-dessus et cliquez avec le bouton droit sur le fichier script shell. Sélectionnez Propriétésdans le menu contextuel.

Getting the properties of the shell script file

La boîte de dialogue Propriétéss'affiche . Assurez-vous que la case à cocher Exécuterest sélectionnée.

Shell script file permissions

Cliquez sur Fermer.

Exécution du script shell

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

Opening a Terminal window

Lorsque la fenêtre Terminalouvre, vous devriez être dans votre dossier d'accueilpar défaut. Taper pwdsur la ligne de commande et appuyer sur Entrée confirme ce fait. À l'invite, tapez ./ user_guide_backups.shet appuyez sur Entrée.

Running the shell script

Vous devriez avoir un fichier .tgzdans le dossier Backups de votre Home Folder. Si vous cliquez avec le bouton droit sur le nom de fichier, vous voyez plusieurs options pour ouvrir l'archive dans l'un des programmes d'archivage disponibles ou extraire les fichiers directement dans le dossier Backupsen utilisant Extrait icicommande.

Pop-up menu options for .tgz file

Plus d'informations

Les liens ci-dessous fournissent plus d'informations sur les scripts shell, taret commandeset d'autres commandes Linux.

Script

Un guide rapide pour écrire des scripts en utilisant le shell bash

Bash Shell Scripting - Guide des 10 Secondes | Tout à propos de Linux

Bash Manuel de référence

Commandes Linux

goudron MAN Page

date MAN Page

commandes bash - Linux MAN Pages

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

Tutoriel Linux : Déplacer les fichiers | video2brain.com

Articles Similaires:


16.02.2010