Suite, notamment, à mon passage d’Android à CyanogenMod, j’ai choisi de migrer mon agenda de Google à Owncloud. Une fois les modifications faites, sur le serveur et sur mon smartphone, il reste la question de la sauvegarde de l’agenda. Je vais expliquer dans ce billet comment on peut:
- Faire une sauvegarde automatique de l’agenda (chaque jour, chaque semaine)
- L’enregistrer sur un autre serveur (via FTP)
Je vais supposer qu’Owncloud est installé sur un serveur tournant sur Ubuntu (dans mon cas, Ubuntu LTS 14.04.3) et que l’on a un accès SSH root sur le serveur.
Récupérer les informations
Supposons que le nom d’utilisateur de mon compte Owncloud soit rafael. Comme il contient un certain nombre de choses (fichiers, contacts, …) je n’avais pas envie de laisser traîner le mot-de-passe de ce compte sur mon serveur dédié. J’ai donc créé un autre compte, rafael_backup et j’ai partagé les calendrier de rafael vers rafael_backup. Ainsi, le second compte n’a accès qu’aux agenda.
Depuis Owncloud, il faut commencer par récupérer l’adresse de l’agenda. Dans les calendrier, il y a le bouton pour exporter le calendrier, comme on le voit sur l’image suivante:
Une fois l’agenda sauvegardé sur votre ordinateur, vous pouvez récupérer l’adresse de télécharger. Chez moi, cela donne quelque chose comme:
https://owncloud.monserveur.ch/remote.php/dav/calendars/rgugliel_bck/default-1_shared_by_rgugliel?export
On retrouve dans les paramètres:
- le nom d’utilisateur (rgugliel_bck)
- le nom du calendrier (default-1_shared_by_rgugliel)
Créer le script de sauvegarde
#!/bin/bash DATE=`date +"%Y-%m-%d"` # Telechargement et gzip wget --auth-no-challenge --no-clobber --http-user=rgugliel_bck --http-password=PASSWORD -O $HOME/backups/owncloud-calendars/default-$DATE.ics "https://owncloud.monserveur.ch/remote.php/dav/calendars/rgugliel_bck/default-1_shared_by_rgugliel?export" gzip -f $HOME/backups/owncloud-calendars/default-$DATE.ics cd $HOME/backups/owncloud-calendars/ ftp ftp.monserveurftp.ch << END_SCRIPT put default-$DATE.ics.gz END_SCRIPT
On a dans le script de sauvegarde les éléments suivants:
- A là ligne 6, le téléchargement de l’agenda. Les paramètres suivants sont à modifier:
– rgugliel_bck : nom d’utilisateur Owncloud
– $HOME/backups/owncloud-calendars/default-$DATE.ics : où sera enregistré l’agenda
– https://owncloud.monserveur.ch/remote.php/dav/calendars/rgugliel_bck/default-1_shared_by_rgugliel?export : l’adresse du calendrier, récupérée précédemment - A là ligne 6, on compresse le calendrier.
- Les dernières lignes servent à sauvegarder les fichiers sur un FTP distant
Identification pour le FTP distant
Comme vous l’avez probablement constaté, le script précédent ne semble pas gérer l’identification sur le FTP distant.
J’utilise pour cela un fichier .netrc, sauvegardé dans mon home, qui contient les informations de connexion. Dans mon cas, cela donne:
machine hostOfTheFTP login usernameForTheFTP password passwordForTheFTP
Finalisation
Plus qu’à créer une tâche planifiée pour le sauvegarde, et vérifier que tout se passe bien périodiquement.
Laisser un commentaire