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
Aller à la navigation
Aller à la recherche
m →Crontab : $PROJET |
utilisation de la variable ~/.bashrc PROJECT et chemin vers les scripts dans crontab |
||
| Ligne 6 : | Ligne 6 : | ||
├── backups | ├── backups | ||
├── logs | ├── logs | ||
├── scripts | ├── shell-scripts | ||
│ ├── backup.README | │ ├── backup.README | ||
│ ├── backup.sh | │ ├── backup.sh | ||
| Ligne 22 : | Ligne 22 : | ||
== Adapter les variable aux projets == | == Adapter les variable aux projets == | ||
Le fichiers contenants les identifiants doivent être modifier pour indiquer : | Le fichiers contenants les identifiants doivent être modifier pour indiquer : | ||
* le nom de base postgreSQL | * le nom de base postgreSQL | ||
* nom d'utilisateur postgreSQL. | * nom d'utilisateur postgreSQL. | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
for i in ./shell-scripts/backup/*; do mv "$i" "${i/projet/$PROJECT}"; done | |||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Crontab === | === Crontab === | ||
On termine par la modification du {{cmd|crontab}} pour que le script se déclenche régulièrement : | On termine par la modification du {{cmd|crontab}} pour que le script se déclenche régulièrement : | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
@daily /home/backupAgent/scripts/backup.sh | @daily bash /home/backupAgent/shell-scripts/backup/backup.sh ville-dole-front 2>&1 | tee -a "/home/backupAgent/logs/backup-$(date '+\%Y-\%b-\%d').log" | ||
#@daily /home/backupAgent/scripts/backup.sh | #@daily bash /home/backupAgent/shell-scripts/backup/backup.sh ville-dole-back 2>&1 | tee -a "/home/backupAgent/logs/backup-$(date '+\%Y-\%b-\%d').log" | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Version du 3 juillet 2012 à 12:04
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
├── shell-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.
for i in ./shell-scripts/backup/*; do mv "$i" "${i/projet/$PROJECT}"; done
Crontab
On termine par la modification du crontab pour que le script se déclenche régulièrement :
@daily bash /home/backupAgent/shell-scripts/backup/backup.sh ville-dole-front 2>&1 | tee -a "/home/backupAgent/logs/backup-$(date '+\%Y-\%b-\%d').log"
#@daily bash /home/backupAgent/shell-scripts/backup/backup.sh ville-dole-back 2>&1 | tee -a "/home/backupAgent/logs/backup-$(date '+\%Y-\%b-\%d').log"