Une page dans votre Wiki a été ajoutée ou modifiée. Voici les détails : Date : 2007/01/27 15:04 Navigateur : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.8.0.9) Gecko/20070102 Ubuntu/dapper-security Firefox/1.5.0.9 Adresse IP : 82.225.60.98 Nom d'hôte : cxr69-3-82-225-60-98.fbx.proxad.net Ancienne révision : none Nouvelle révision : http://cli.asyd.net/home/scripts/exemples/postgresql Résumé : page créée, scripts collés Utilisateur : lois ====== Administration de PostgreSQL ====== ===== Arrêt / Démarrage ===== Sur une base de ''/etc/init.d/skeleton'', peut être encore largement amélioré : <code bash> #!/bin/sh -e # /etc/init.d/postgresql # $Id # PGDIR="/usr/local/pgsql" PGBIN="$PGDIR/bin" PGDATA="/usr/local/pgsql/data" PGLOG="/var/log/postgresql.log" DESC="Postgresql database server" USER="postgres" test -x $PGDIR || exit 0 case "$1" in start) echo -n "Starting $DESC: " su - $USER -- $PGBIN/pg_ctl -D $PGDATA start echo -n "" ;; stop) echo -n "Stopping $DESC: " su - $USER -- $PGBIN/pg_ctl -D $PGDATA -m f stop echo -n "" ;; reload) echo -n "Reloading configuration $DESC: " su - $USER -- $PGBIN/pg_ctl -D $PGDATA reload echo -n "" ;; restart|force-reload) echo -n "Restarting $DESC: " su - $USER -- $PGBIN/pg_ctl -D $PGDATA -m f stop sleep 1 su - $USER -- $PGBIN/pg_ctl -D $PGDATA start echo -n "" ;; status) echo -n "$DESC current status: " su - $USER -- $PGBIN/pg_ctl -D $PGDATA status echo -n "" ;; *) echo "Usage: $0 {start|stop|restart|reload|force-reload|status}" echo -n "" exit 1 ;; esac exit 0 </code> ===== Administration ===== À faire tourner par cron ou équivalent. Exemple avec ''/etc/crontab'' : <code bash> 46 6 * * * root /root/adm/postgresql.sh vacuum > /dev/null 00 7 * * * root /root/adm/postgresql.sh backup > /dev/null </code> <code bash> #!/bin/sh -e # manipulations sur le serveur postgresql, via cron # Loïs - 20061219 # $Id PGDIR="/usr/local/pgsql" PGBIN="$PGDIR/bin" PGDATA="/usr/local/pgsql/data" PGLOG="/var/log/postgresql.log" DESC="Postgresql database server" USER="postgres" DATE=$(date +%Y%m%d) BACKUPDIR="/opt/postgres-data" test -x $PGDIR || exit 0 case "$1" in status) echo -n "$DESC current status: " su - $USER -- $PGBIN/pg_ctl -D $PGDATA status echo "" ;; vacuum) echo -n "$DESC vacuuming all databases: " su - $USER -- $PGBIN/vacuumdb --full --analyze --all su - $USER -- $PGBIN/reindexdb --all --quiet echo -n "" ;; analyze) echo -n "$DESC analyzing all databases: " su - $USER -- $PGBIN/vacuumdb --analyze --all echo -n "" ;; backup) echo "$DESC backuping: " mkdir -p $BACKUPDIR su - $USER -- $PGBIN/pg_dumpall > $BACKUPDIR/dumpall-$DATE.sql bzip2 $BACKUPDIR/dumpall-$DATE.sql # TODO: trouver un rotate pour ces sauvegardes (voir logrotate peut-etre ?) echo "" ;; *) echo "Usage: $0 {status|vacuum|analyze|backup}" echo "" exit 1 ;; esac exit 0 </code> -- Ce message a été généré par DokuWiki http://cli.asyd.net/home/