On veut effectuer une sauvegarde automatisée de nos cours, exercices, etc. dans un espace de stockage sur internet.
Pré-requis : utiliser linux et disposer d'un espace de stockage FTP (nous utiliserons ici ftpperso.free.fr).
Il existe des programmes pré-installés capables d'automatiser des tâches :
Pour pallier à ces défauts, j'utilise fcron. Voici la procédure :
sudo apt-get install sendmail lftp
cd /mondossier
tar -zxf fcron-3.2.1.src.tar.gz(à adapter à la version), ou, dans un gestionnaire de fichiers (exemple : dolphin), clic-droit sur l'archive et choisir "Extraire" ;
cd fcron-3.0.6
./configure
make
sudo make install
export VISUAL="kate"
fcrontab -e
%daily * * DISPLAY=:0.0 filezillalance Filezilla une fois par jour (l'instruction DISPLAY=:0.0 sert à lancer une application graphique).
%weekly * * DISPLAY=:0.0 ~/sauvegarder.sh
sudo kate /etc/rc.local(ou sudo gedit ou sudo mousepad suivant votre version de linux) puis entrez le mot de passe superutilisateur. Ajoutez dans le fichier la ligne :
fcronjuste avant le
exit 0;puis enregistrez et fermez l'éditeur de texte.
On peut (ce n'est pas une obligation, voir la suite) créer un fichier nommé .netrc, placé dans le dossier home et qui contiendra simplement la ligne (à adapter à votre espace de stockage) :
machine ftpperso.free.fr login votreloginftp password votremotdepasseftp |
et que l'on protégera des regards indésirables en tapant, dans un terminal :
chmod 600 ~/.netrc
Créez, par exemple dans votre dossier personnel, un fichier sauvegarder.sh contenant le code ci-dessous (variante pour xubuntu).
Vous n'aurez qu'à modifier nomdossierftp à la ligne 18 et y mettre le chemin vers votre dossier de sauvegarde (exemple : mesdocs/sav si votre dossier est http://toto.free.fr/mesdocs/sav) ; nomdelhote à la ligne 20 et y mettre l'adresse ftp de votre espace de stockage (exemple : ftpperso.free.fr si vous êtes chez Free) et dossierasauvegarder à la ligne 24 qui indique l'emplacement de vos documents sur votre disque dur.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
#!/bin/bash # Demander à l'utilisateur s'il souhaite lancer la sauvegarde # http://ftp.traduc.org/doc-vf/gazette-linux/html/2004/101/lg101-P.html#lg101p-9.fr DIALOG=${DIALOG=kdialog} # ou gdialog $DIALOG --title " Sauvegarde automatique" \ --yesno "Bonjour, dois-je commencer la sauvegarde mensuelle ?" 10 30 case $? in 0) # Oui choisi ### Synchronise deux répertoires en utilisant FTP ### source : http://linux.leunen.com/?p=925 LOCALDIR="$1" REMOTEDIR="/nomdossierftp/" #EXCLUDED="*.*~" HOST="nomdelhote" if [ "$LOCALDIR" = "" ] then LOCALDIR="/dossierasauvegarder"; fi if [ -e "$LOCALDIR" ] then lftp -c "set ftp:list-options -a; open $HOST; lcd $LOCALDIR; cd $REMOTEDIR; mirror --reverse \ --delete \ --verbose" # --exclude-glob $EXCLUDED"; fi $DIALOG --title "Fin de la sauvegarde" \ --yesno "Pensez à vérifier..." 10 30 ;; 1) echo "Non choisi. ";; 255) echo "Appuyé sur Echap. ";; esac |
Commentaires :
LOGIN="votreloginfree" PASSWORD="votremotdepassefree" |
~/sauvegarder.sh /dossierasauvegarderalors LOCALDIR et $1 seront /dossierasauvegarder
~/sauvegarder.shen mettant dans le script le nom du dossier par défaut, dans la ligne :
LOCALDIR="/dossierasauvegarder" |
chmod +x ~/sauvegarder.shoù, sous dolphin, en accèdant aux "Propriétés" du fichier grâce à un clic-droit, choisir l'onglet "Droits d'accès" et cocher la case "est exécutable".