Page 1 sur 1

[Partage][Difficile] Solution de sauvegarde pour Ludoprêt

Publié : 02 juillet 2015, 19:25
par krysenn
Bonjour,

/!\ 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 :D
Installation du système raspbian sur le raspberry:
  • Sélectionner Raspbian comme système à installer
Image
Photo by maketecheasier.com
  • Une page va s'afficher, il faut attendre la fin
Image
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.
Image
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 ~ $
Les commandes suivantes seront à taper:
    • Pour écrire taper "i" sur le clavier (un mode INSERT va s'afficher, cela veut dire que vous pouvez écrire).
      Modifier:

      Code : Tout sélectionner

       auto eth0
          allow-hotplug eth0
          iface eth0 inet dhcp
      
      Par

      Code : 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 enregistrer et fermer le documents faites: ECHAP puis taper: :wq
/!\ Brancher votre clé usb sur votre ordinateur Windows (pour facilité la marche à suivre) et il faut formater la clé usb en NTFS ou FAT32 comme vous voulez. /!\
Ensuite connecté votre clé usb sur le raspberry.

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
      

Code : Tout sélectionner

mount -a
Vous devriez pouvoir accéder à la clé usb en tapant:

Code : Tout sélectionner

cd /mnt/cleusb/
Maintenant nous allons passer à la configuration des partages pour accéder à ludoprêt sur les postes Windows. Insérer l'intégralité des lignes ci-dessous dans le fichier:
    • 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 
      
Maintenant nous allons passer à l'installation et la configuration de drive
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 ~
    
Maintenant vous avez cette structure:
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:
  • Création du fichier: backup_ludopret.sh pour la sauvegarde de ludopret et de vos papiers.

    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
    
    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.
  • Création du fichier: nettoyage_backup.sh pour supprimer les sauvegardes de plus de 7 jours.

    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
    
    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.
Pour les scripts je me suis inspiré de ce site: http://raspberrywebserver.com/serveradm ... drive.html et que j'ai adapté à mes besoins.

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
    
Maintenant rendez-vous sur l'ordinateur de votre ludotèque pour configurer deux lecteurs réseau et modifier les icônes d'accès à ludoprêt.
  • Connexion d'un lecteur réseau pour le dossier ludopret:
    Image
    Connexion d'un lecteur réseau pour le dossier papiers:
    Image

    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.
Vous avez maintenant une sauvegarde (sur le boitier raspberry ainsi que sur votre google_drive) à 1h du matin, avec un mail vous signalant la sauvegarde. Les sauvegardes de plus de 7 jours sont automatiquement supprimé de votre boitier raspberry.

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

Re: [Partage] Solution de sauvegarde pour Ludoprêt

Publié : 02 juillet 2015, 20:42
par JDG
Bonsoir*
Ouah!!! Merci pour cette contribution.
Néanmoins:
avoir une solution fiable mais payante.
C'est bien ce que vous vouliez dire? Pourquoi payante?

D"autre part, pour l'instant je ne vois pas bien ce que vous voulez faire.
Qu'amène cette solution, par rapport à la discussion menée ici...http://forum.ludopret.fr/viewtopic.php?f=49&t=383et qui me semble plus à la portée de néophytes.
Mais peut être n'ai je pas bien saisi, et votre solution permettra peut être de faire des accès concurrents.
Votre contribution est très technique, mais ne précise pas assez ce que vous voulez vraiment effectuer.
Je ne veux surtout pas que vous preniez cela pour un reproche, mais j'attends quelques explications supplémentaires..

Bien cordialement

JDG

Re: [Partage] Solution de sauvegarde pour Ludoprêt

Publié : 03 juillet 2015, 07:05
par krysenn
Bonjour

Il est vrai que je n'ai pas précisé certaine choses
essentiel,
Le but: une sauvegarde automatique du dossier ludoprêt chaque soir sur un compte google drive avec la réception d'un mail qui indique où récupérer la sauvegarde.

J'ai écrit fiable car c'est un système automatisé qui requiert aucune action utilisateur une fois configuré (le mot est peut être effectivement).
Pour le mot "payant" c'est parce que j'ai indiqué des pré-requis à acheter et on arrive vite à 100€ pour une jeune ludothèque ça peut représenté un coût.
(Ne vous inquiété pas, je veux pas vous concurrencé et encore moins me faire de l'argent ^^ au contraire j'aimerai volontier vous aider pour pourquoi pas faire une version web (qui permettrai l'accès multi-users, l'accès de n'importe où, l'accès sur plusieurs système d'exploitation etc..).

Que voulez-vous dire par accès concurrent ?

Par rapport à votre solution je ne l'ai pas testé, moi j'avais utilisé dropbox mais quand il synchronisait le dossier ludopret il bloquait la base et on pouvait plus faire aucune action et cela de façon aléatoire, donc jai préféré changé de méthode.

Je ne peux pas faire moins technique malheureusement, cependant je peux complété et documenté beaucoup plus mon explication.

En espérant avoir été un peu plus clair ^^

Bonne journée,
Alexis

PS: Si jamais vous voulez un jour vous lancer sur une version web, je suis prêt à vous aider, je me débrouille pas mal en codage web. De plus les requêtes sont déjà créé dans Access donc le boulot est plus dans la création du template et le développement des fonctions.
Je me repose souvent sur un framework comme Laravel (similaire a cakephp, zend, symfony) il permet de développer plus rapidement.
Pour finir, il est très sûrement possible de faire un package d'installation automatique pour les plus néophytes.

Re: [Partage] Solution de sauvegarde pour Ludoprêt

Publié : 06 juillet 2015, 06:31
par JDG
Bonjour
Effectivement, je comprends un peu mieux la démarche;
Loin de moi l'idée que que vous auriez eu de me "concurrencer". Chacun d'ailleurs fait ce qu'il veut.... Ludoprêt a eu et a encore une utilité certaine. Un jour il y a aura mieux... ainsi vont les choses..
Pour l'instant, il va falloir faire des choix pour savoir comment faire évoluer Ludoprêt dans le bon sens. Dois je continuer avec Access que je connais assez bien (avec ses qualités et ses défauts), ou dois je envisager de passer à d'autres technos dans lesquelles je suis totalement ignare. C'est sûr que dans ce dernier cas j'aurai besoin d'aide. Je me documente beaucoup, mais cela reste encore assez obscur.
Il faut également amener quelque chose de différent de ce qui est proposé par d'autres. Des solutions Web existent...pourquoi réinventer la roue...?
Et la facilité pour les utilisateurs doit rester l'obsession.

Pour en revenir au système de sauvegarde, je vais continuer mes tests avec PCloud, car cela me semble une solution facile et qui ne coûte rien.
Par contre pour les accès concurrents (utilisateurs se connectant en même temps), je ne suis pas certain que j'y arrive. Microsoft fait tout pour que l'on soit contraint de passer à Azure....
Votre solution peut donc être une alternative intéressante...

Il y a de la cogitation dans l'air... :D

Encore Merci pour votre contribution...

JDG

Re: [Partage] Solution de sauvegarde pour Ludoprêt

Publié : 10 juillet 2015, 05:05
par JDG
Bonjour
Quand pensez vous nous faire part de la suite de votre solution de sauvegarde? ;)

JDG

Re: [Partage] Solution de sauvegarde pour Ludoprêt

Publié : 11 juillet 2015, 07:43
par krysenn
Bonjour,

J'ai terminé le tuto :)

Alexis.

Re: [Partage] Solution de sauvegarde pour Ludoprêt

Publié : 29 juillet 2015, 12:22
par JDG
krysenn a écrit :Bonjour,

J'ai terminé le tuto :)

Alexis.
Bonjour

Désolé je n'avais pas vu. ;)
Je regarde cela de plus près.

Encore merci pour cette initiative et cette contribution
JDG

Re: [Partage][Difficile] Solution de sauvegarde pour Ludoprê

Publié : 31 juillet 2015, 06:47
par JDG
Bonjour
Je viens de regarder d'un peu plus près...
Si j'ai bien compris. tout le dossier Ludopret est stocké sur votre boitier raspberry.
Puis de votre Pc vous démarrez Ludopret en lançant Ludopret.accde sur le raspberry.
Je ne suis pas certain que se soit une bonne méthode, car vous faites transiter sur votre réseau les données et l'interface.
Dans ludopret.accde, il n'y a pas de données stockées, il n'y a que des liens. Les données en elle même sont stockés dans les fichiers donnneesLudo.accdb et ComptaLudo.accdb eux même dans le répertoire \ludopret\tables. C'est le principe des frontales/dorsales.
D'ailleurs si vous vous servez du programme de sauvegarde intégré vous verrez que en plus des annexes, seuls les fichiers donneesLudo.accde et comptaLudo.accdb sont stockés dans le répertoire SaveLudo.

Sur votre rasberry, il suffit donc de stocker le dossier \ludopret\tables et éventuellement les annexes.
Dans ce cas vous gardez le raccourci vers l'applicatif du Pc: c:\ludopret\ludopret.accde et par contre vous modifiez les paramètres de liens dans Ludoprêt vers S:\

Ainsi seules les données vont transiter, et vous pourrez également avoir plusieurs postes travaillant en même temps.


JDG

Re: [Partage][Difficile] Solution de sauvegarde pour Ludoprê

Publié : 11 août 2015, 05:29
par krysenn
Bonjour,

Ah d'accord, je n'avais pas tout à fait compris comment cela se passait, effectivement je vais modifier ce sera plus intéressant d'avoir plusieurs postes de travail ;)

Merci beaucoup pour vos explications supplémentaires :)