Mon site étant hébergé sur les pages perso de Free et qu’il n’ y a pas de sauvegarde, je ne souhaite pas utiliser un plugin wordpress.
LFTP est donc la solution
exemple du script pour une copie a l’identique
$ lftp ftp://identifiant:'mot_de_passe'@ftpperso.free.fr -e "mirror -e --verbose -x /dossieraignoré / /emplacement_local_de_la_savegarde ; quit"
dans le détail
- lftp est la commande
- ftp est le protocol
- le login free
- le mot de passe free
- @leworkspace ftpperso.free.fr
- -e ” ” commande à lftp d’exécuter ce qui est entre guillemets
- mirror crée une copie a l’identique
- -e apres mirror efface les fichiers qui n’existent plus
- –verbose pour avoir le detail a l’ecran
- -x /dossieraignoré permet d’exclure un dossier, ajouter autant de -x que de dossier a ignoré
- / le premier slash correspond a la racine répertoire distant
- / le second slash correspond a la racine du repointe local
- ; termine la commande
- quit coupe la connexion
Mon script de sauvegarde complète
$ mkdir ~/Sauvegarde_complete
$ sudo vim /usr/local/sbin/save_monsite.sh
le contenu
lftp ftp://login:'motdepasse'@ftpperso.free.fr -e "mirror -e --verbose / /home/user/Sauvegarde_complete ; quit"
droit d’exécution
$ sudo chmod +x /usr/local/sbin/save_monsite.sh
exécution
$ sudo /usr/local/sbin/save_monsite.sh
a l’issue de l’exécution voici le résultat de ma sauvegarde
Total : 182 répertoires, 4120 fichiers, 0 liens symboliques
Nouveau : 4120 fichiers, 0 liens symboliques
206153087 octets transférés en 354 secondes (568.7Ko/s)
Pour mettre a jour de façon incrémentielle il faut rajouter le paramètre –only-newer
j’ai relancé ma sauvegarde après avoir supprimé 3 fichiers
lftp ftp://login:'motdepasse'@ftpperso.free.fr -e "mirror -e --verbose --only-newer / /home/user/Sauvegarde_complete ; quit"
Suppression de l’ancien fichier « blabla1 »
Suppression de l’ancien fichier « blabla2 »
Suppression de l’ancien fichier « blabla3 »
Total : 182 répertoires, 4117 fichiers, 0 liens symboliques
Supprimé : 0 répertoires, 3 fichiers, 0 liens symboliques
reste plus qu’a faire un cron pour automatiser la sauvegarde (tous les dimanche a 15h)
je redirige vers un fichier texte pour voir les modifications
$ sudo crontab -e
00 15 * * 0 /usr/local/sbin/save_monsite.sh >> /tmp/trace_save_monsite.log
Faire un DUMP de la BDD
$ mkdir ~/Sauvegarde_BDD
$ sudo vim /usr/local/sbin/save_bdd.sh
wget http://sql.free.fr/backup.php --post-data="login=$login&password=$motdepasse&check=1&all=1" -O /home/user/Sauvegarde_BDD/$(date +%F_%H-%M-%S).sql.gz
$ sudo chmod +x /usr/local/sbin/save_bdd.sh
$ sudo /usr/local/sbin/save_bdd.sh
Sauvegarde en : «/home/user/Saveuvegarde_BDD/2017-03-19_15-33-09.sql.gz» [ <=> ] 11 784 –.-K/s ds 0,001s
2017-03-19 15:33:09 (16,4 MB/s) – «/home/user/Saveuvegarde_BDD/2017-03-19_15-33-09.sql.gz» sauvegardé [11784]
Faire un cron, un peu avant a 14h45
$ sudo crontab -e
45 14 * * 0 /usr/local/sbin/save_bdd.sh >> /tmp/trace_save_monsite.log