Il y a 389 articles et 19 utilisateurs inscrits (ce bandeau est défini dans MediaWiki:Sitenotice)

« Script de Backup » : différence entre les versions

De AJLSM
Aller à la navigation Aller à la recherche
expansuib: arborescence de fichier, crontab
Ligne 19 : Ligne 19 :
* {{path|credentials-{{var|appli-prod}}.sh}}: identifiant pour l'application {{var|appli-prod}}
* {{path|credentials-{{var|appli-prod}}.sh}}: identifiant pour l'application {{var|appli-prod}}
* {{path|path.sh}}: chemin vers les ressources
* {{path|path.sh}}: chemin vers les ressources
== Adapter les variable aux projets ==
Le fichiers contenants les identifiants doivent être modifier pour indiquer :
* le nom de base postgreSQL
* nom d'utilisateur postgreSQL.
<syntaxhighlight lang="bash">
monProjet="ville-dole"; for i in ./scripts/*; do mv "$i" "${i/projet/$monProjet}"; done
</syntaxhighlight>


=== Crontab ===  
=== Crontab ===  

Version du 28 mai 2012 à 10:28

Nous utilisons un utilisateur special pour gérer les tâches de sauvegarde : backupAgent. Il a son propre compte UNIX, fait parti du groupe responsable de l'application et à son propre dossier personnel, dans lequel on place les sauvegardes (scénario par défaut).

Arborescence

.
├── backups
├── logs
├── scripts
│   ├── backup.README
│   ├── backup.sh
│   ├── credentials-PROJET-back.sh
│   ├── credentials-PROJET-front.sh
│   └── path.sh
└── tmp
Important :
Ce script suppose une arborescence de fichiers tel que décrit dans Arborescence de production. Vous pouvez la réaliser via des liens symbolique.
  • backup.sh: script
  • credentials-appli-recette.sh: identifiant pour l'application appli-recette
  • credentials-appli-prod.sh: identifiant pour l'application appli-prod
  • path.sh: chemin vers les ressources

Adapter les variable aux projets

Le fichiers contenants les identifiants doivent être modifier pour indiquer :

  • le nom de base postgreSQL
  • nom d'utilisateur postgreSQL.
monProjet="ville-dole"; for i in ./scripts/*; do mv "$i" "${i/projet/$monProjet}"; done

Crontab

On termine par la modification du crontab pour que le script se déclenche régulièrement :

@daily /home/backupAgent/scripts/backup.sh ville-dole-front | tee -a "/home/backupAgent/logs/backup-$(date '+\%Y-\%b-\%d').log"
#@daily /home/backupAgent/scripts/backup.sh ville-dole-back | tee -a "/home/backupAgent/logs/backup-$(date '+\%Y-\%b-\%d').log"