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 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écutées 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, 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 d'utilisation. Nous utilisons l' environnement Gnome dans Ubuntu .

Tout d'abord, accédez à votre répertoire personnel en sélectionnant Dossier(Home Folder) personnel dans le menu Emplacements . (Places)Le navigateur de fichiers(File Browser) s'ouvre sur votre répertoire personnel.

Ouverture du dossier d'accueil

Nous allons créer un nouveau fichier vide dans lequel nous entrerons les commandes pour effectuer la sauvegarde. Cliquez avec le bouton(Right-click) droit dans le volet de droite et sélectionnez Create Document | Empty File 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(Type) 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é

Maintenant, nous devons ajouter les commandes au fichier. Faites un clic droit sur le nom du fichier et sélectionnez Ouvrir avec gedit(Open with 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 Enregistrer(Save) . Le but de chaque ligne est indiqué ci-dessous.

REMARQUE :(NOTE:) Vous pouvez également copier le texte suivant et le coller dans gedit . Assurez-vous de remplacer <username> par 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.

Line # Description
1 This line must be the first line in a bash shell script, which is the default type of script.
2 This line sets up a variable called SRCDIR and sets the value of it to the directory to be backed up.
NOTE: Be sure to replace <username> with your username.
3 This line sets up a variable called DESTDIR and sets the value of it to the directory into which the backup file will be written.
NOTE: Be sure to replace <username> with your username.
4 This line sets up a variable called FILENAME and sets the value using text and variables containing the date command to add the current date and time to the filename. For example, the filename might be ug-20100212-13:03:45.tgz.
NOTE: When using a variable, always start it with the dollar sign ($). If you use a command as part of a variable, enclose the command and the options for the command in parentheses.
5 This line is the tar command with the following function and options added.

–create This function creates a new archive (or truncates an old one if the filename specified already exists) and writes the named files or directory to it.
–gzip This option tells tar to compress the files in the archive using the gzip utility.
–file This option gives tar the filename to use. In this case, we assembled the filename using the DESTDIR, FILENAME, and SRCDIR variables.

Modification des autorisations(Permissions) sur le fichier de script Shell(Shell Script File)

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(Home Folder) personnel comme mentionné ci-dessus et cliquez avec le bouton droit sur le fichier de script shell. Sélectionnez Propriétés(Properties) dans le menu contextuel.

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

La boîte de dialogue Propriétés(Properties) s'affiche. Assurez(Make) -vous que la case Exécuter est cochée.(Execute)

Autorisations du fichier de script shell

Cliquez sur Fermer(Close) .

Exécution du script shell

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

Ouvrir une fenêtre de terminal

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

Exécution du script shell

Vous devriez avoir un fichier .tgz dans le dossier Backups de votre dossier personnel(Home Folder) . Si vous faites un clic droit sur le nom du fichier, plusieurs options s'affichent pour ouvrir l'archive dans l'un des programmes d'archivage disponibles ou pour extraire les fichiers directement dans le dossier Sauvegardes à l'aide de la commande (Backups)Extraire ici(Extract Here ) .

Options du menu contextuel pour le fichier .tgz

Plus d'information

Les liens ci-dessous fournissent plus d'informations sur les scripts shell, les commandes tar et date et d'autres commandes Linux .

Script

Un guide rapide pour écrire des scripts à l'aide du shell bash(A quick guide to writing scripts using the bash shell)

Bash Shell Scripting – 10 Seconds Guide | All about Linux

Manuel de référence de Bash(Bash Reference Manual)

Commandes Linux

goudron MAN Page(tar MAN Page)

date MAN Page

Commandes bash – Pages MAN Linux(bash commands – Linux MAN Pages)

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



About the author

Je suis un ingénieur en matériel avec plus de 10 ans d'expérience dans le domaine. Je me spécialise dans les contrôleurs et les câbles USB, ainsi que dans les mises à niveau du BIOS et le support ACPI. Dans mes temps libres, j'aime aussi bloguer sur divers sujets liés à la technologie et à l'ingénierie.



Related posts