Retour : Page Principale > Politique de sécurité

Sauvegarde du code source des logiciels


Sauvegarde des dépôts SVN de Tela Botanica

Les dépôts SVN de Tela Botanica, installés sur Sycomore, sont sauvegardés en même temps que ce dernier sur Adansonia.

Sauvegarde des dépôts Git de GitHub

Un script trouvé ici est placé sur Adansonia dans /usr/local/sbin/backup-github.sh , il est configuré pour cloner tous les dépôts de "telabotanica" sur GitHub : https://github.com/telabotanica
Les sauvegardes sont placées dans /home/github . Un utilisateur "github" a été créé pour l'occasion.

On a configuré le script de sauvegarde avec un utilisateur créé sur GitHub, "telabot", qui a accès en lecture à l'organisation "telabotanica". Le mot de passe est en clair dans le fichier, mais l'utilisateur n'a accès qu'en lecture et tous nos dépôts sont publics (2016-03-15) donc c'est pas bien grave.

Pour que ça marche, il faut créer une paire de clefs RSA et ajouter la clef publique dans son profil GitHub (le profil de "telabot"), comme expliqué ici : https://help.github.com/articles/adding-a-new-ssh-key-to-your-github-account/#platform-linux . On a donc créé une paire de clefs dans le compte de l'utilisateur "github" (/home/github/.ssh/id_rsa* ), associée à l'adresse email webmestre@tela-botanica.org, qui est celle de l'utilisateur "telabot" sur GitHub (pas très clair mais j'me comprends).

Note: ce script crée des clones "bare" des dépôts, qui ne contiennent pas de "working-tree". C'est plus simple pour les sauvegardes car ça tire toutes les branches etc, et l'absence de "working-tree" permet d'éviter de faire des conneries. On ne peut donc pas travailler directement dans la sauvegarde, par contre on peut "puller" ou cloner ces dépôts pour obtenir un dépôt de travail. Voir l'explication ici : https://www.storelocatorplus.com/basic-overview-of-bare-git-repositories/

Ajouter ceci dans la crontab pour lancer la sauvegarde à 3h du mat du lundi au vendredi :
# Sauvegarde des dépôts Git depuis GitHub
01      03      *       *       1-5     su github -c /usr/local/sbin/backup-github.sh

Notes: la sauvegarde prend quelques minutes et ne pèse pas très lourd, dépendamment des dépôts bien sûr (environ 3mn et 300 Mio au 2016-03-15).
Le script de sauvegarde conserve les sauvegardes ayant moins de 3 jours seulement (configurable).