/!\ Ce tuto nécessite un minimum de connaissance informatique (linux-windows), il est préférable de faire appel à quelqu'un qui s'y connaît où qui se débrouille /!\
Je m'occupe de la partie informatique d'une ludothèque et je cherchais une solution de sauvegarde automatique pour désencombrer les bénévoles et avoir une solution fiable mais payante.
Ayant une adresse gmail au nom de la ludothèque, je me suis posé la question pour automatiquement sauvegarder ludoprêt sur google drive.
Pré-requis:
Un raspberry pi (mini ordinateur qui ne consomme pas grand chose).
Une clé usb (facultatif mais souhaitable, tout dépend si vous voulez sauvegarder autre choses que ludoprêt [ex: des factures, des photos ...]).
Une connexion internet (permet d'envoyer les données vers google drive).
Un câble RJ-45 (permet de connecter le raspberry pi sur la box) /!\ Privilégier le câble RJ45 au wifi, le wifi vous apportera surement des ennuis /!\
Un câble HDMI (permet de connecter le raspberry pi sur la TV pour la première configuration)
Un clavier et une souris USB
Introduction:
- Montage du raspberry (mettre la carte dans son boitier)
- Brancher le raspberry à une TV ou un écran d'ordinateur avec le câble HDMI
- Brancher le clavier et la souris
- Brancher l'alimentation et c'est parti
- Sélectionner Raspbian comme système à installer

Photo by maketecheasier.com
- Une page va s'afficher, il faut attendre la fin

Photo by adafruit.com
- Quand vous êtes sur cette page il faut descendre en bas de la liste, appuyer sur la touche TAB et sélectionner finish.

Photo by sparkfun.com
Configuration du système:
Normalement à cette partie du tuto vous devriez avoir un écran noir, avec des écritures verte:
Code : Tout sélectionner
pi@raspberry ~ $
- Taper la commande:
Code : Tout sélectionner
apt-get update
Code : Tout sélectionner
apt-get upgrade
Code : Tout sélectionner
sudo vim.tiny /etc/network/interfaces
- Pour écrire taper "i" sur le clavier (un mode INSERT va s'afficher, cela veut dire que vous pouvez écrire).
Modifier:ParCode : Tout sélectionner
auto eth0 allow-hotplug eth0 iface eth0 inet dhcp
Pour enregistrer et fermer le documents faites: ECHAP puis taper: :wqCode : Tout sélectionner
auto eth0 iface eth0 inet static address 192.168.1.50 netmask 255.255.255.0 gateway (192.168.1.1 pour Orange SFR Numéricable / 192.168.0.254 pour Free / 192.168.1.254 pour Bouygues)
- Pour écrire taper "i" sur le clavier (un mode INSERT va s'afficher, cela veut dire que vous pouvez écrire).
Code : Tout sélectionner
sudo fdisk -l
Ensuite connecté votre clé usb sur le raspberry.
Code : Tout sélectionner
Repérer votre clé usb, normalement "/dev/sda1"
Code : Tout sélectionner
sudo apt-get install ntfs-3g
Code : Tout sélectionner
sudo vim.tiny /etc/fstab
- Ajouter à la fin du fichier cette ligne:
Code : Tout sélectionner
/dev/sda1 /mnt/cleusb ntfs-3g defaults 0 0
- Ajouter à la fin du fichier cette ligne:
Code : Tout sélectionner
mount -a
Code : Tout sélectionner
cd /mnt/cleusb/
Code : Tout sélectionner
sudo apt-get install samba
Code : Tout sélectionner
cd /etc/samba/
Code : Tout sélectionner
sudo mv smb.conf smb.conf.backup
Code : Tout sélectionner
sudo vim smb.conf
Code : Tout sélectionner
[global] server string = SRV-LUDO workgroup = WORKGROUP netbios name = SRV-LUDO security = share null passwords = yes guest account = nobody [ludopret] path = /mnt/cleusb/ludopret read only = no public = yes guest ok = yes browseable = yes writeable = yes comment = dossier_ludopret [papiers] path = /mnt/cleusb/papiers ready only = no public = yes guest ok = yes browseable = yes writeable = yes writeable = yes comment = dossier_papiers
Code : Tout sélectionner
sudo service samba restart
Code : Tout sélectionner
sudo mkdir /mnt/cleusb/ludopret sudo mkdir /mnt/cleusb/papiers
Pour utiliser drive il nous faut un pré-requis: golang
Code : Tout sélectionner
Installation de golang: cd /tmp wget http://dave.cheney.net/paste/go1.4.2.linux-arm~multiarch-armv7-1.tar.gz tar -xzf go1.4.2.linux-arm~multiarch-armv7-1.tar.gz sudo mv go /usr/local/go cd /usr/local/ sudo chown root:staff go cd ~ cat << ! >> ~/.bashrc export GOPATH=\$HOME/go export PATH=\$GOPATH:\$GOPATH/bin:\$PATH ! . .bashrc Installation de drive: go get -u github.com/odeke-em/drive/cmd/drive mk google_drive drive init ~/google_drive Il faut taper l'adresse URL qui s'affiche sur un navigateur d'un ordinateur où vous êtes connecté sur un compte google drive (gmail etc...). Il faut accepter les permissions qui s'affiche Le code qui s'affiche il faudra le taper dans le terminal puis faire OK. cd google_drive/ mkdir papiers mkdir ludopret cd ~
Dans le dossier: /home/pi
j'ai créé un dossier google_drive qui contient deux autres dossiers ludopret et papiers (ces dossiers nous permettrons d'envoyer la sauvegarde sur un compte google drive).
Mise en place des scripts de sauvegarde et nettoyage
Aller dans le répertoire home:
Code : Tout sélectionner
cd ~
- Création du fichier: backup_ludopret.sh pour la sauvegarde de ludopret et de vos papiers.
Eviter les accents dans le script (mal interpréter par linux), sur les lignes: drive share il faut modifier les adresse mail par les vôtres.
Code : Tout sélectionner
Copier-coller ceci: #!/bin/bash ### Sauvegarde du dossier ludopret #### archivage tar -cvf backup_ludopret_$(date +%d.%m.%Y).tar /mnt/cleusb/ludopret #### compression gzip backup_ludopret_$(date +%d.%m.%Y).tar #### deplacement de l'archive dans le dossier google_drive/ludopret mv backup_ludopret_$(date +%d.%m.%Y).tar.gz /home/pi/google_drive/ludopret ### Sauvegarde du dossier papiers #### archivage tar -cvf backup_papiers_$(date +%d.%m.%Y).tar /mnt/cleusb/papiers #### compression gzip backup_papiers_$(date +%d.%m.%Y).tar #### deplacement de l'archive dans le dossier google_drive/papiers mv backup_papiers_$(date +%d.%m.%Y).tar.gz /home/pi/google_drive/papiers ### On va dans le dossier google_drive cd /home/pi/google_drive/ ### Export du dossier google_drive vers le cloud google drive drive push -no-clobber -no-prompt #no-clobber evite de synchroniser, envoie uniquement ce que contient les dossiers (pour eviter la suppression de fichier non voulu) #no-prompt evite de demander une action utilisateur ### On partage la sauvegarde entre la responsable ludo et le technicien informatique avec un mail ### partage sauvegarde ludopret drive share -no-prompt -emails adressemail@gmail.com,adressemail2@gmail.com -message "Voici la sauvegarde Ludopret `date --date="1 days ago" +%d.%m.%Y` disponible sur le google drive" -role w riter -type group ludotheque ludopret/backup_ludopret_$(date +%d.%m.%Y).tar.gz ### partage sauvegarde papiers drive share -no-prompt -emails adressemail@gmail.com,adressemail2@gmail.com -message "Voici la sauvegarde Ludopret `date --date="1 days ago" +%d.%m.%Y` disponible sur le google drive" -role w riter -type group ludotheque papiers/backup_papiers_$(date +%d.%m.%Y).tar.gz ### Déplacement des dossiers pour eviter de les reenvoyer sur google drive les prochains soirs cd /home/pi/google_drive/ludopret mv backup_ludopret_$(date +%d.%m.%Y).tar.gz /home/pi/sauvegarde/ludopret cd /home/pi/google_drive/ludopret mv backup_papiers_$(date +%d.%m.%Y).tar.gz /home/pi/sauvegarde/papiers ### Fin du script exit
- Création du fichier: nettoyage_backup.sh pour supprimer les sauvegardes de plus de 7 jours.
Eviter les accents dans le script (mal interpréter par linux), sur les lignes: drive share il faut modifier les adresse mail par les vôtres.
Code : Tout sélectionner
Copier-coller ceci: ### On va dans le dossier ludopret cd /home/pi/sauvegarde/ludopret ### On supprime les backups de plus de 7 jours rm backup_ludopret_$(date --date="7 days ago" +%d.%m.%Y).tar.gz ### On va dans le dossier ludopret cd /home/pi/sauvegarde/papiers ### On supprime les backups de plus de 7 jours rm backup_papiers_$(date --date="7 days ago" +%d.%m.%Y).tar.gz exit
Planification des scripts pour le lancement automatique
Nous avons fait le choix de sauvegarder le dossier ludoprêt et le dossier papiers à 1h du matin tout les jours et le nettoyage se lance à 2h du matin.
Code : Tout sélectionner
echo $PATH copier-coller le résultat affiché. sudo vim /etc/crontab Supprimer la ligne $PATH=.... Insérer : $PATH=coller votre résultat affiché tout à l'heure. Puis à la fin du fichier taper ceci: 00 01 * * * pi /home/pi/backup_ludopret.sh 00 02 * * * pi /home/pi/nettoyage_backup.sh
- Connexion d'un lecteur réseau pour le dossier ludopret:
Connexion d'un lecteur réseau pour le dossier papiers:
Vous pouvez mettre le dossier papiers sur le bureau pour vous permettre de mettre vos documents à l'intérieur de ce dossier en faisant: clic-droit -> créer un raccourci.
- Modification de l’icône Ludoprêt:
Clic-droits -> Propriété:
Cible: "S:\Ludopret.accde"
Démarrer dans: "S:\"
Maintenant il faut modifier les liens dans Ludoprêt.
J'espère que le TUTO pourra être utile pour certaines ludothèque, je comprend le faite qu'il soit très difficile à suivre (pour quelqu'un qui s'y connaît c'est très facile).