Admin/Dev

25
Juil.
2019

Astuce macOS : Créer une sauvegarde automatique avec rsync et launchctl - Partie 2

Publié par sky

Après avoir vu quelques unes des nombreuses capacités de rsync et avant de se plonger dans launchctl, prenons le temps de faire un petit script qui réalise l'ensemble de la sauvegarde que nous souhaitons faire. Cette seconde partie peut être considérée comme récréative, tant elle sera simple et rapide.

Vous serez d'ailleurs nombreux à passer directement à la suite, car il va s'agir ici de revoir les bases. Pour les néophytes, allons y !

Un script est un fichier texte rassemblant un ensemble de commande, que votre système va exécuter à la suite. Comme en programmation, il y est possible de d'utiliser des variables, mais aussi des structures conditionnelles. Ainsi vous pouvez faire des vérifications avec if ou encore des boucles avec for. Au final, si les scripts que l'on va voir dans cet articles resteront assez simples, il est possible de faire beaucoup de chose, et certains scripts peuvent vraiment être massifs.

Reprenons, un script est un fichier texte, il faut donc un éditeur capable d'écrire au format texte. Dans l'idée, le plus simple serait d'utiliser les éditeurs en ligne de commande qui sont disponibles avec macOS, tels que emacs ou nano. Mais si vous êtes frileux à l'idée de les utiliser, vous pouvez toujours utiliser un éditeur graphique. Eviter juste Word ou encore TextEdit, ou alors veillez bien à enregistrer votre fichier final au format texte brut.

Un fichier de script commence toujours par définir quel shell va exécuter le script, ici nous allons rester sur celui défini par défaut sur macOS : bash

#!/bin/bash

Si vous avez l'habitude d'un autre shell, comme zsh par exemple, vous pouvez toujours en changer. Mais cela ne sera vraiment intéressant que si vous utilisez des fonctionnalités spécifiques à un shell. Ici ce n'est pas le cas !

Insérons les commandes rsync permettant de sauvegarder les dossiers.

#!/bin/bash

rsync -a /chemin/vers/le/dossier/Photos /dossier/de/sauvegarde/
rsync -a /chemin/vers/le/dossier/Media /dossier/de/sauvegarde/

Sauvegardons le fichier, sous le nom Backup.sh, et quittons.

Pour lancer le script manuellement, il faut rendre le fichier executable :

chmod u+x Backup.sh

Vous pouvez désormais lancer le script, simplement en l'appelant

Backup.sh

Attention, vous ne pouvez l'exécuter que depuis le dossier dans lequel il se trouve ou en indiquant son chemin complet. Si vous souhaitez le lancer, depuis n'importe où, il faut mettre le dossier qui le contient dans le "PATH".

Revenons sur notre script, si l'ont veut un peu plus de détail sur ce qu'il se passe, nous pouvons ajouter des lignes de description.

#!/bin/bash

echo 'Debut de la sauvegarde'
echo 'Sauvegarde du dossier Photos'
rsync -a /chemin/vers/le/dossier/Photos /dossier/de/sauvegarde/
echo 'Sauvegarde du dossier Media'
rsync -a /chemin/vers/le/dossier/Media /dossier/de/sauvegarde/
echo 'Fin de la sauvegarde'

Nous pourrions évidemment aller beaucoup plus loin, mais cela sera pour un autre article. Prochaine étape l'intégrer dans launchd pour qu'il se lance automatiquement.

 
Sommaire de la série
 
 
Commentaires
Aucun commentaire pour le moment.

 

Poster un commentaire
En postant sur skymac.org, je m'engage à être courtois et à ce que mon message soit pertinent avec le sujet de l'article.
En outre, j'accepte, sans condition, que mon message soit refusé et supprimé si ces règles ne sont pas appliquées.
Les cookies assurent le bon fonctionnement de nos services. En continuant, vous acceptez leur utilisation sur notre site internet.
Accepter