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 exécutable :

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.
Captcha indisponible
Pour valider le formulaire, vous devez confirmer que vous êtes bien une personne. Actuellement, la fonctionnalité est indisponible. Vous devez activer le service ReCaptcha dans le gestionnaire des cookies, et donc consentir à l'utilisation de ses cookies.
Ouvrir le panneau de gestion des cookies
Fermer le panneau
Ce site utilise des cookies pour assurer son bon fonctionnement. Il utilise aussi des cookies issues de services tiers permettant de proposer des fonctionnalités avancées. À tout moment, vous pouvez choisir quels services vous souhaitez activer ou refuser, afin de retirer votre consentement quant à l'utilisation des cookies.
 
Personnalisation des services
Vous êtes libre de choisir quels services vous souhaitez activer. En autorisant ces services tiers, vous acceptez le dépôt et la lecture de cookies et l'utilisation de technologies de suivi nécessaires à leur bon fonctionnement. En retirant votre consentement pour certains de ces services, certaines fonctionnalités du site peuvent ne plus fonctionner.
Navigation du site  En savoir plus
Le site écrit un cookie de session permettant son bon fonctionnement et aidant à la navigation. Il ne peut être désactivé.
Utilisation : 1 cookie, enregistre l'identifiant de la session.
Durée de vie : Le cookie est présent pendant toute la session sur le site. Il devient obsolète après 24 minutes d'inactivité.
Obligatoire
Popup Média
Afficher des vidéos depuis Yoube ou Dailymotion.
ReCaptcha  En savoir plus
Permet de valider que les visiteurs sont bien des humains lorsqu'ils valident des formulaires.
 
Tout accepter Tout refuser Gérer