Tuto : Synchronisation entre une SeedBox et le Raspberry Pi

Jusqu’à présent pour synchroniser ma seedbox Darkseed j’utilisais un script Automator sur le Mac qui lançait Transmit pour faire une synchronisation de dossier.
Le problème c’est que je lançais le script en allumant mon MacBook pro en me levant le matin et donc je monopolisais une bonne partie de la bande passante de la maison.
Ayant acheté un Raspberry Pi 2 durant l’été j’ai donc voulu en profiter pour lui faire faire le travail pendant la nuit, période où tous les autres ordinateurs de la maison sont éteints.

Première étape : création d’un script pour synchroniser la seedbox et un dossier local via FTP

Pour cela, il faut passer par le terminal et télécharger lftp :

sudo apt-get install -y lftp

Une fois l’installation terminée, on crée le script en lançant la commande suivante :

sudo nano ftp-seedbox.sh

On arrive dans l’éditeur de texte et on rentre les lignes suivantes :

#!/bin/bash

if ! ( ps -U root | grep lftp > /dev/null );
then cd /votrerepertoire/dereception && lftp ftp://login:motdepasse@votreserveur -e "set sftp:auto-confirm yes; set file:charset UTF-8 ; set ftp:charset UTF–8;mirror /leRepertoireSource/surLaSeedbox/ -n -x recycle_bin ; quit;" ;
fi

(À noter que selon vos paramètres de serveur, vous pouvez remplacer ftp par sftp).

Ensuite on quitte l’éditeur avec un ctrl+x suivit de Y puis Entrée (ou O si la langue système du Raspberry est le français) pour enregistrer le script.

On rend le script exécutable :

sudo chmod +x ftp-seedbox.sh

Vous pouvez à présent tester le fonctionnement du script en lancant la commande suivante :

./ftp-seedbox.sh

Deuxième étape : le lancement du script à une heure précise avec Crontab

On ouvre crontab :

crontab -e

Capture-d’écran-2015-11-21-à-10.38.32

Puis à la dernière ligne, on rajoute les heures auxquelles on souhaite que le script se lance :

30 4 * * * sudo /home/pi/ftp-seedbox.sh

Ici le script se lancera tous les jours à 4h30 du matin (si vous voulez plus d’information sur le fonctionnement de Crontab je vous conseille de lire cette partie de cours sur Openclassrooms).

Puis on quitte crontab en enregistrant les modifications de la même manière que tout à l’heure lorsqu’on avait quitté l’éditeur pour le script.

Voilà pour aujourd’hui, dans un prochain tuto j’essaierai d’expliquer comment rappatrier automatiquement le contenu du dossier du Raspberry vers le Mac en local avec un script Automator.