Page modifiée le 13/06/2021

Sauvegarde automatisée de vos documents avec Fcron (sous linux)

Principe

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).


Intérêts


Inconvénients


Comment

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 :


Installer fcron


Création d'un fichier contenant les informations de connexion à l'espace de stockage (facultatif)

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éation du fichier sauvegarder.sh

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 :


Bibliographie