Seitenhistorie
...
Die folgenden Scripts wurden unter openSuSE 13.1 mit PostreSQL 9.3 geschrieben.
Datenbank sichern (Postgres 9.3)
Die Postgres-Datenbank kann mit nachfolgendem Script gesichert werden. Dabei wird die in der Tabelle t_ad_relase abgelegte Nuclosversion als Dateiname für das Backup übernommennachfolgendem Script gesichert werden. Dabei wird die in der Tabelle t_ad_relase abgelegte Nuclosversion als Dateiname für das Backup übernommen.
Codeblock |
---|
#!/bin/bash
# ----------------------------------------------------------------------
# /usr/local/bin/pgdump - backup nuclos pgsql database to file
# max@kalhammer.com 2014-02-14
# ----------------------------------------------------------------------
pghost=localhost
pgname=$(hostname)
pgport=5432
pgbase=nuclosdb
pguser=postgres
pgpass=ds011$SK
pgpath=/data/backup
pgpsql=/opt/PostgreSQL/9.3/bin/psql
nuclos=`sudo -u postgres $pgpsql -d $pgbase -c "select strrelease from
nuclos.t_ad_release order by datinstalled desc limit 1;
" | tail -n 3 | head -n 1`
pgfile=$pgpath/$pgname\_nuclos\_$nuclos\_$(date +%Y-%m-%d)_$(date +%H-%M).pgdump
pgfile=`echo $pgfile | tr -d " "`
pgdump=/opt/PostgreSQL/9.3/bin/pg_dump
pgopts='--no-password --format tar --blobs --create'
echo $pghost:$pgport:$pgbase:$pguser:$pgpass > ~/.pgpass
chmod 600 ~/.pgpass
$pgdump --host $pghost --port $pgport --username $pguser $pgopts --file $pgfile $pgbase
echo "PostgreSQL Backup to file="$pgfile
# ---------------------------------------------------------------------- |
Datenbank sichern (Postgres 10)
Das folgende Script wurden unter Ubuntu 18.04.2 LTS mit PostreSQL 10 geschrieben.
Codeblock |
---|
#!/bin/bash # ---------------------------------------------------------------------- # /usr/local/bin/pgdump - backup nuclos pgsql 10 database to file # based on version from max@kalhammer.com # 20142019-0208-1418 # ---------------------------------------------------------------------- pghost=localhost pgname=$(hostname) pgport=5432 pgbase=nuclosdb pguser=postgres pgpass=ds011$SKYourPwd pgpath=/data/backup pgpsql=/optusr/lib/PostgreSQLpostgresql/9.310/bin/psql nuclos=`sudo -u postgres $pgpsql -d $pgbase -c "select strrelease from nuclos.t_ad_release order by datinstalled desc limit 1; " | tail -n 3 | head -n 1` pgfile=$pgpath/$pgname\_nuclos\_$nuclos\_$(date +%Y-%m-%d)_$(date +%H-%M).pgdump pgfile=`echo $pgfile | tr -d " "` pgdump=/optusr/lib/PostgreSQLpostgresql/9.310/bin/pg_dump pgopts='--no-password --format tar --blobs --create' echo $pghost:$pgport:$pgbase:$pguser:$pgpass > ~/.pgpass chmod 600 ~/.pgpass $pgdump --host $pghost --port $pgport --username $pguser $pgopts --file $pgfile $pgbase echo "PostgreSQL Backup to file="$pgfile # ---------------------------------------------------------------------- |
...
Codeblock |
---|
#!/bin/bash # ---------------------------------------------------------------------- # /usr/local/bin/pgprep - prepare nuclos pgsql database # max@kalhammer.com 2014-02-09 # ---------------------------------------------------------------------- pghost=localhost pgport=5432 pguser=postgres pgpass=nuclos pgnusr=nuclos pgnpwd=ds011$SKnuclos pgbase=nuclosdb pgscma=nuclos pgopts=--no-password pgpath=/data/pgsql pgtemp=/var/tmp/pgprep.sql pgpsql=/opt/PostgreSQL/9.3/bin/psql echo $pghost:$pgport:$pgbase:$pguser:$pgpass > ~/.pgpass chmod 600 ~/.pgpass echo "-- Postgres Database Preparation for Nuclos" > $pgtemp echo "-- ========================================" >> $pgtemp if [ "$1" = "init" ]; then echo "-- Create Role $pgnusr" >> $pgtemp echo "CREATE ROLE $pgnusr LOGIN UNENCRYPTED PASSWORD '$pgnpwd' NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE;" >> $pgtemp fi #cho "CREATE TABLESPACE $pgnusr WITH OWNER = $pgnusr LOCATION = '$pgpath';" >> $pgtemp echo "-- Create Database $pgbase with owner $pguser" >> $pgtemp echo "CREATE DATABASE $pgbase WITH OWNER = $pgnusr TEMPLATE = template1 ENCODING = 'UTF8';" >> $pgtemp echo "\c $pgbase" >> $pgtemp echo "-- Create Schema $pgscma for $pgnusr" >> $pgtemp echo "CREATE SCHEMA $pgscma AUTHORIZATION $pgnusr;" >> $pgtemp if [ "$1" = "init" ]; then echo "-- Create Language plpgsgl" >> $pgtemp echo "CREATE LANGUAGE plpgsql;" >> $pgtemp fi chmod 666 $pgtemp su - $pguser -c "$pgpsql -a --file=$pgtemp" rm $pgtemp # ---------------------------------------------------------------------- |
...
Die folgenden Batchdateien wurden auf Windows XP mit PostreSQL 9.2 geschrieben.
Datenbank sichern
Die Postgres-Datenbank kann mit nachfolgender Batchdatei gesichert werden. Die in der Tabelle t_ad_relase abgelegte Nuclosversion wird nicht ausgelesen.
...