MagPI 5 Page 19

De Le French MagPi
Aller à : Navigation, rechercher

Rappelez-vous que si la liste est trop longue, vous pouvez envoyer le résultat vers la commande "less" par l'intermédiaire d'un pipe.

bash backup | less

Vous pouvez vous déplacer dans la liste avec les touches fléchées haut/bas ou avec les touches PageHaut/PageBas, appuyez sur la touche q pour quitter.


La dernière étape consiste à rendre le script exécutable. Cela permettra de lancer sans taper "bash" devant le nom. Pour rendre le fichier exécutable, entrez la commande

chmod +x backup

Cela ajoute (+) le droit d'exécuter (x) le fichier. Pour être correct (mais ce n'est pas obligatoire dans un simple exemple), la première ligne devrait contenir

#!/bin/bash

Cette ligne indique au système d'exploitation quel est le programme à utiliser pour lancer le script. Pour l'exécuter, tapez la commande

./backup


Un exemple plus complet

Voici une version plus complète du script. Vous pouvez constater qu'il est plus complexe car nous avons ajouté des éléments supplémentaires.

Le nom des répertoires est maintenant contenu dans des variables aussi il vous sera facile de le changer si vous le souhaitez.

Le script utilise l'instruction "if" pour vérifier si le répertoire de sauvegarde existe déjà.

L'option --update indique à la commande cp de ne pas copier les répertoires qui n'ont pas changé.

#!/bin/bash
# Programme simple pour faire une sauvegarde de fichiers sur le Raspberry Pi
# Définit l'emplacement de mes fichiers et celui de la sauvegarde
mydirectory="/home/pi"
safeplace="/backup"
echo "Début de la sauvegarde de fichiers depuis $mydirectory vers $safeplace"
# Vérifie l'existence du répertoire de sauvegarde
if [ ! -d $safeplace ]
then
  # N'existe pas, il faut créer un nouveau répertoire
  echo "Création du nouveau répertoire $safeplace"
  sudo mkdir $safeplace
  # Rend l'utilisateur pi propriétaire de ce répertoire
  sudo chown pi $safeplace
fi
# Copie tous les fichiers de mon répertoire
# recursive permet de trouver les fichiers de tous les sous-répertoires
# update permet de ne copier que les fichiers qui ont été modifiés depuis la dernière sauvegarde
# verbose signifie que je veux être informé de ce qui se passe
cp --recursive --update --verbose $mydirectory $safeplace

echo "Sauvegarde terminée"
Outils personnels
Espaces de noms

Variantes
Actions
Navigation
Boîte à outils