Voici un script bash, une solution simple pour sauvegarder sa base de données en PostgreSQL et son répertoire web. L'article est grandement inspiré de celui de Spiderneo (http://www.spiderneo.com/gestion-sauvegarde-sur-serveur-ubuntu). Dans ce dernier on ne parle pas de PostgreSQL mais de MySQL.
#!/bin/bash #Création de l'archive dans /home/user/SAVE/ qui va contenir tout ce qui se trouve dans /var/www/ tar -czvf /home/user/SAVE/www_$(date '+%d').tar.gz /var/www/* --overwrite #Sauvegarde de la base PostgreSQL 'database' #http://www.postgresql.org/docs/8.1/static/app-pgdump.html #http://stackoverflow.com/questions/6523019/postgresql-scripting-psql-execution-with-password PGPASSWORD=yourpass /usr/bin/pg_dump -i --inserts --format=t --host=localhost --port=5432 -U userSQL database > /home/user/SAVE/pgsql_database_$(date '+%d').tar #Compression de l'archive gzip /home/user/SAVE/pgsql_database_$(date '+%d').tar -f #On se connecte par FTP au serveur de sauvegarde, puis on copie le répertoire /home/user/SAVE/ dans le répertoire /SAVE_distant du serveur de sauvegarde #http://doc.ubuntu-fr.org/lftp lftp ftp://userFTP:passwordFTP@adress_serveur_FTP -e "mirror -e -R -x fichier_1_a_exclure -x fichier_2_a_exclure /home/user/SAVE/ /SAVE_distant ; quit"
Pour aller plus loin dans l'automatisation, vous pouvez planifier la sauvegarde via cron (http://doc.ubuntu-fr.org/cron).