Je vais présenter ici 3 façons de faire pour programmer une sauvegarde automatique FTP, de facile à très technique.
Partons du constat qu’une sauvegarde est une synchronisation, pas seulement un upload (téléversement), et donc que les fichiers orphelins du serveur de sauvegarde doivent être supprimés pour rester une copie exacte (miroir) du dossier local.
Pour cela il est nécessaire d’installer un logiciel FTP et d’utiliser Automator. En effet qui dit sauvegarde automatique dit déclenchement automatique, et qui dit déclenchement automatique dit Automator et Calendrier (présent dans macOS).
Dans la dernière partie (réservée aux développeurs), nous verrons comment programmer un backup FTP automatique avec un script shell et le cron de macOS (et oui il y en a un, ce que j’ignorais avant de commencer à rédiger cet article !).
Programmer une sauvegarde FTP automatique avec Automator
Automator peut être déclenché depuis un évènement de Calendrier. Ce qui le rend idéal pour le déclenchement automatique à condition que la tâche en question soit disponible dans la bibliothèque d’actions d’Automator, ce qui est le cas avec Transmit (c’est un des marqueurs des meilleurs logiciels). Qui plus est, Transmit intègre beaucoup de protocoles en plus FTP ou SFTP.
Une fois que Transmit est installé, 4 actions deviennent disponibles depuis Automator : Download, Mount, Synchronize et Upload (cf. capture d’écran ci-dessous). Dans notre cas c’est Synchronize qui nous allons utiliser, c’est le plus adapté pour une sauvegarde.
Pour commencer, créez un nouveau fichier Automator de type Alarme Calendrier.
Ajoutez ensuite l’action Synchronize au programme, faîtes vos réglages et sauvegardez. Cela va générer un évènement de Calendrier, qu’il suffit de rendre récurrent à la fréquence à laquelle vous souhaitez effectuer le backup FTP. Boum, fini.
Il n’est pas nécessaire que Transmit ou Automator restent constamment ouverts.
Le seul point négatif de cette technique est qu’une fois le fichier d’Alarme calendrier crée et absent de la liste des éléments récents, je n’arrive plus à le rouvrir pour le modifier. Du coup, cela m’oblige à l’enregistrer également comme processus ou application pour pouvoir le modifier par la suite.
Programmer une sauvegarde automatique FTP avec Yummy FTP Pro
Yummy FTP Pro est inclus dans Setapp (au côté de Forklift) à ma connaissance le seul logiciel de transfert de fichiers qui propose la fonctionnalité de planification, et ça c’est pratique.
L’interface de programmation des tâches de Yummy est disponible depuis la fenêtre de synchronisation en cliquant sur Programmer. Il suffit alors de régler l’intervalle et l’heure, et de s’assurer que le programmateur est bien actif. Pour cela, il y a une icône marche/arrêt dans la fenêtre principale.
Il n’est pas nécessaire de laisser Yummy ouvert pour que les backups automatiques fonctionnent.
Téléchargez Yummy depuis Setapp
Programmer une sauvegarde FTP avec lftp et cron
Cette dernière méthode est uniquement ligne de commande. Elle doit marcher aussi sur Linux bien que je ne l’ai pas testé.
Commencez par installer lftp avec Homebrew.
brew install lftp
Puis créez le script shell qui va exécuter la synchronisation. Nous l’appelerons ici backup.sh.
PATH=/usr/local/Cellar/lftp/4.8.0:/usr/local/bin:/usr/local/sbin:~/bin:/usr/bin:/bin:/usr/sbin:/sbin
lftp -f "
# connexion au serveur FTP
ftp://speedtest.tele2.net/
# Synchronisation entre dossier local et serveur
mirror --reverse --delete dossier_local/ dossier_distant/
"
Enfin, ajoutez la ligne de crontab qui va exécuter le script shell à la fréquence voulue. Dans l’exemple ci-dessous, une fois par jour à 3h du matin.
0 3 * * * cd dossier_local && bash backup.sh
Et voilà, méthode 100% ligne de commande. Rappel, crontab -l
pour visualiser toutes les lignes de cron de votre utilisateur.
Laisser un commentaire