Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- #crée un dump de la base PostgreSQL et l'envoie à RECIPIENT_HOST par ssh;
- #base de données postgres
- MARICA_BASE_NAME=marica
- #emplacement dump file
- MARICA_DUMP_FILE=/tmp/$MARICA_BASE_NAME.gz
- #backup server
- RECIPIENT_HOST=oldstation
- #utilisateur ssh
- USER=XXXXXXX
- #nombre de tentatives effectuées
- TRIAL_NUMBER=0
- #nombre maximum de tentatives
- MAX_TRIALS=5
- #temps d'attente entre deux tentatives, en secondes
- SLEEP_TIME=5
- #
- #dump de la base PostgreSQL + rsync des répertoires de documents
- #
- #options de rsync
- #C: cvs-ignore; a: archive mode; z: compress; q: quiet mode
- su vincent <<ENDSU
- #dump de la base postgres
- pg_dump $MARICA_BASE_NAME | gzip > $MARICA_DUMP_FILE
- ENDSU
- while [ $TRIAL_NUMBER -lt $MAX_TRIALS ]
- do
- #répertoire d'accueil de la base sur l'hôte distant
- RECIPIENT_HOST_DIR=/var/backups/marica
- #faire un dump de la base, le compresser, l'envoyer par ssh à $RECIPIENT_HOST
- if scp -P 2502 -i /home/$USER/.ssh/id_rsa $MARICA_DUMP_FILE $USER@$RECIPIENT_HOST:\'$RECIPIENT_HOST_DIR\'
- then
- #transfert succeeded, exit while loop
- break
- else
- #failure; increment counter
- let "TRIAL_NUMBER = $TRIAL_NUMBER + 1"
- #wait a bit before retrying
- sleep $SLEEP_TIME
- fi
- done
Advertisement
Add Comment
Please, Sign In to add comment