Mon plan de sauvegarde actuel

Aujourd’hui 31 mars c’est le World Backup Day, c’est un bon moment pour parler un peu de mon plan de sauvegarde.

En gros qu’est ce que j’ai à sauvegarder? En local, j’ai ma machine principale, celle qui contient beaucoup de choses, pour ne pas dire tout, en particulier mes photos et mon catalogue Lightroom. Mais j’ai également les données de mon serveur dédié Kimsufi, à savoir les sites web que j’héberge qui ont besoin d’être sauvegardés bien entendu.

Pour commencer par le serveur, il y a plusieurs tâches qui s’occupent des backups, à commencer par une sauvegarde que j’appelle « system » et qui historise (par snapshots) principalement /etc . Ensuite, tous les jours un dump de toutes mes bases de données est fait, à cela s’ajoute un backup des sites web. Le tout est fait en local sur le serveur.

Côté maison, le système (Windows) est sur un petit SSD que je ne sauvegarde pas, les données par contre sont sur une pile RAID 1 de 2 disques de 1To (ce qui ne constitue pas une sauvegarde). Des backups quotidiens sont effectués sur un NAS Qnap (RAID 1).

Pour terminer, un autre cron sur le serveur copie via rsync les sauvegardes des sites web (et du système) sur le NAS tous les jours également.

Le petit point noir de mon plan est que je n’ai pas vraiment de sauvegardes externalisées de mes données, donc en cas de grosse catastrophe à la maison – genre incendie ou me faire tout voler – je peux tout perdre.

Récupération SFTP automatique sous Windows avec WinSCP

Script SFTP automatique d’un serveur GNU/Linux distant sous Windows avec les fonctionnalités de scripting de WinSCP.

Il y a quelque temps maintenant je suis passé à un serveur Kimsufi SSD, ce qui a bien augmenté ses performances  au détriment de la capacité de stockage. Mon plan de sauvegarde (du système et des sites hébergés) a donc été modifié pour garder moins de backups sur le serveur en supprimant les plus anciens. Suite à ce constat, j’ai décidé d’automatiser le téléchargement des backups sur ma machine locale, mais sous Windows on a pas facilement un rsync ou du ssh à porté de main. Après un peu de recherche j’ai découvert que le client FTP/SFTP WinSCP était facilement scriptable, ceci ajouté à une tâche planifiée, j’avais ma solution de download de sauvegardes sous Windows.

Le principe est très simple, nous allons écrire un script WinSCP qui sera appelé par un batch Windows.

Script WinSCP

Voici un exemple de scripting WinSCP, à mettre dans un fichier texte genre backup_ftp.txt  :

open sftp://username:xxxxxxx@monserveur.net/ 
    -hostkey="ssh-rsa 2048 fc:6d:bc:4d:76:9d:08:4e:7e:31:56:45:d9:a4:97:22"
cd /home/username/backups/
option transfer binary
get -neweronly *.tgz c:\Users\win-username\backups\
close
exit

 

Plutôt explicite non? Ligne par ligne :

  1. Ouverture d’une session SFTP sur le serveur distant.
  2. Déplacement dans le répertoire des fichiers à récupèrer.
  3. Quelques options de transfert.
  4. On récupère les nouveaux fichiers uniquement ayant l’extension TGZ avec la commande get
  5. On ferme la connexion.

Pour la partie hostkey de l’ouverture de session, WinSCP permet de facilement la trouver. Pour cela il faut se connecter sur le serveur, puis aller dans Session > Informations sur le serveur/protocole et dans le premier onglet, il suffit de recopier la valeur sous Empreinte digitale du serveur hôte.

Trouver la clé du serveur dans WinSCP
Trouver la clé du serveur dans WinSCP

 

 

 

 

 

 

 

 

 

 

Les scripts WinSCP permettent de faire beaucoup de choses, se référer à la liste des commandes disponibles pour avoir un aperçu exhaustif des possibilités.

Script CMD

Le script Windows va invoquer la commande winscp.exe  avec en option le chemin vers notre fichier de script, je l’ai nommé download_backups.cmd  :

"C:\Program Files (x86)\WinSCP\winscp.com" 
    /script=C:\Users\win-username\bin\backup_ftp.txt

 

C’est tout. Pour l’automatisation, il suffit de créer une tâche planifiée qui exécute notre script download_backups.cmd.

Plus tard nous verrons comment ajouter un log et envoyer le rapport par email en fin de récupération.

Stockage réseau NAS QNAP TS-212P

Acquisition d’un NAS QNAP TS-212P pour enfin avoir une solution de stockage digne de ce nom à la maison.

Voilà plusieurs années que j’avais le projet d’acquérir un NAS, mais bien que depuis pas mal d’années il y a de super produits sur le marché même pour des petits budgets, c’était tout de même un peu trop pour mon porte monnaie et je continuais à jongler avec une ribambelle de disques durs externes que je connectais rapidement sur un dock SATA/PATA.


Ce début 2016 marque la fin de cette ère du simple disque USB puisque j’ai finalement saisi l’opportunité des soldes pour acheter un QNAP TS-212P. Certains me diront pourquoi QNAP et pas Synology qui est très à la mode pour les particuliers/TPE/PME, je répondrai simplement le prix. A équivalence, le TS-212P est à moins de 110€. Et je connais mieux QNAP et QTS que j’ai utilisé par le passé sur des baies SAS haute-performance un peu plus imposantes que le TS-212P.

NAS QNAP TS-212P
NAS QNAP TS-212P

Je partais sur 2 disques de 2To avec des données identiques – principalement des backups des photos – et mon but était donc d’utiliser ces 2 disques en RAID1 dans le QNAP. La grosse question qui me taraudait était de savoir s’il était possible de ne placer qu’un seul disque dans le NAS, d’installer le firmware (tout disque nouveau ou ancien étant formatté à l’insertion), puis de copier les données du second disque dans le NAS, puis de connecter le second disque et de migrer vers du RAID. J’ai fait des recherches et posé la question sur le forum officiel QNAP, les réponses n’étaient pas très claires et le même refrain revenait sans cesse, à savoir avoir un backup des données (sur un troisième support), installer les 2 disques (qui seront effacés) et de copier le backup sur le NAS, car la migration vers du RAID n’était pas disponible sur les petits modèles. Mais à force de persévérance dans mes recherches (et en bouquinant la doc aussi), il s’est avéré que la migration est maintenant activée même sur les petits modèles.

Continue reading « Stockage réseau NAS QNAP TS-212P »

Sauvegarder son compte Gmail avec getmail

getmail est un script en python écrit par Charles Cazabon qui permet de rapatrier les courriers d’une ou plusieurs boites aux lettres d’une façon simple (mais efficace). Selon les mots de son auteur, getmail est conçu pour être sécurisé, flexible, fiable et facile d’utilisation. Il est un remplaçant potentiel de fetchmail.

Ce petit tutoriel est fait sur une distribution CentOS et c’est la procèdure de sauvegarde que j’utilise pour mon compte Gmail (Google Apps). La boite aux lettres de destination est de type Maildir, c’est-à-dire que chaque courrier est dans un fichier unique contrairement à Mbox qui place tous les courriers dans un fichier unique.

Continue reading « Sauvegarder son compte Gmail avec getmail »