Backupup über Linux

Hi,

kann mir vielleicht jemand sagen, wie ich ein Backup meiner DB über die Linux Befehlszeile starten kann?

Gruß

hi,

ein shell skript schreiben das pg_dumpall startet und das per cron starten lassen…

cu tb.

#!/bin/sh
#
# TODO:
#  * Add support for remote backups ($PASS, $HOST, $PORT)

# Database username
USER="postgres"
# Zip files? Otherwise keep this variable empty
ZIPIT=""
# Only dump these databases (separated by space) OR dump all databases
ONLYDB="db_name"

pg_dump="/usr/local/pgsql/bin/pg_dump"
psql="/usr/local/pgsql"

# Options passed to pg_dump for data and schema backups
DATA_OPTIONS="--data-only \
              --inserts \
              --column-inserts \
              --format p \
              --no-owner \
              --no-reconnect \
              -U $USER"
SCHEMA_OPTIONS="--create \
                --schema-only \
                --format p \
                --no-owner \
                -U $USER"

DATE=$(date +%y%m%d)
PWD='/usr/local/pg_dump'

function backup_pg_database
{
  DATABASE=$1
  # The output files
  DATA_FILE="$PWD/$DATABASE-data_$DATE.sql"
  SCHEMA_FILE="$PWD/$DATABASE-schema_$DATE.sql"
  # Dump Data
  echo "+ $DATABASE (data) -> $DATA_FILE"
  $pg_dump $DATA_OPTIONS --file $DATA_FILE $DATABASE
  # Dump Schema
  echo "+ $DATABASE (schema) -> $SCHEMA_FILE"
  $pg_dump $SCHEMA_OPTIONS --file $SCHEMA_FILE $DATABASE
  if [ -n "$ZIPIT" ]; then
    $ZIPIT $DATA_FILE
    $ZIPIT $SCHEMA_FILE
  fi
}

if [ -n "$1" ]; then
  backup_pg_database $1
elif [ -n "$ONLYDB" ]; then
  # Dump only these databases
  for DB in $ONLYDB
  do
    backup_pg_database $DB
  done
else
  # Get list of databases
  DB_LIST=`$psql -l -t -U $USER |cut -f1 -d\| |sed -e 's/ //g'`
  for DB in $DB_LIST
  do
    if [ "$DB" != "template0" ] && [ "$DB" != "template1" ]; then
      backup_pg_database $DB
    fi
  done
fi

Ich gebe zu das hab ich wo abgekupfert und nur ein bisschen verändert…
das als Script speichern und über die Shell ausführen.

Crypi