Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: SQL-Ledger, PostgreSQL en Webmin  (gelezen 2079 keer)

Offline Roel1963

  • Lid
SQL-Ledger, PostgreSQL en Webmin
« Gepost op: 2008/06/25, 15:36:00 »
Al een tijd ben ik bezig met SQL-Ledger, tot volle tevredenheid. Ik moet nog even wat prutsen om een goede print uit het systeem te krijgen, maar verder loopt alles prima, ik zit er aan te denken om de administraties één voor één over te zetten naar dit mooie systeem!

Nu zit ik echter met het probleem van het maken van backups van de datasets (PostgreSQL bestanden). Dit kan "gewoon" via SQL-Ledger aangezien het systeem daar een optie voor heeft. Ik heb daarna nog eens getest of de backups via Webmin konden worden teruggezet, maar Webmin herkent de bestanden niet als backups.

Via een aantal commando's (dropdb -U, createdb -U en psql -U) heb ik de (test-)backups weer kunnen terugzetten, zonder enig verlies van gegevens.

Toch vraag ik me af waarom dit niet via Webmin kon, heeft Webmin wat dit betreft wellicht andere backup- en restorenormen?

Ik heb deze vraag trouwens in deze categorie gesteld vanwege de Webmin-technologie.

Offline Roel1963

  • Lid
SQL-Ledger, PostgreSQL en Webmin
« Reactie #1 Gepost op: 2008/06/26, 23:23:38 »
Werkt niemand met Webmin backups?

SQL-Ledger, PostgreSQL en Webmin
« Reactie #2 Gepost op: 2008/06/27, 00:22:01 »
Jwel ik werk ermee, en het werkt bij mij gewoon ??

Echter omdat de backup nogal beperkt is doe ik alleen de eigen files.
Deed ik moet ik eigenlijk zeggen want ik ben nu met Virtualmin bezig die iets anders in elkaar zit als de standaart Webmin.

ff ter uitleg.
Virtualmin is het webhosting programma van Webmin waarbij de functies die je normaal in de standaard Webmin hebt gedeeltelijk niet meer zitten.

Toen ik dus nog de standaart backup gebruikte van Webmin was ik ook niet tevreden met de manier waarop....
Dus gebruikte ik een script waarbij ik wat zekerder ben van mijn backups.
Met dit script kan je instellen hoeveel backups je wilt hebben van een bepaalde file of directorie, ik had het aantal op 7 staan.
Iedere nieuwe backup duwt de laatste in de prullenbak en zo houd je van 7 dagen een backup over.
Dit kan je instellen bij "KEEP=7" waar 7 het aantal backups is.

Dit is het script:
#!/bin/bash

# DATABASES="master:mysql my:database"
DATABASES="master:mysql db:information_schema db:mijndatabase db:mijndatabase db:mijndatabase db:mijndatabase db:mijndatabase"

DATESTAMP=`date +%y%m%d`
TIMESTAMP=`date +%T`

BCK_DIR="/var/backups/mysql"
KEEP=7


rotate
{
  last=$KEEP
    prev=$((KEEP-1))

    cd $BCK_DIR
    echo Rotating backups up to $KEEP
    while [ $last -gt 0 ]; do
      for i in *.$prev.gz; do
      if [ -n "$i" ]; then
      file=`basename "$i" .$prev.gz`
        echo Moving "$i" to "$file.$last.gz"
        mv -f "$file.$prev.gz" "$file.$last.gz"
      fi
    done
    last=$((last-1))
    prev=$((prev-1))
  done
}

dump_sql {
if [ -d $BCK_DIR ]; then
  for dbset in $DATABASES; do
    db=`echo $dbset | awk -F: '{ print $2 }'`
    # db_dir=`echo $dbset | awk -F: '{ print $1 }'`
    #if [ ! -d $BCK_DIR/$db_dir ]; then
    #  mkdir $BCK_DIR/$db_dir
    #fi
    BCK_FILE="$BCK_DIR/$db.sql.0"
    echo -n "$db... "
    mysqldump $db -c --opt > $BCK_FILE
    echo done
    if [ -f $BCK_FILE ]; then
      gzip -v $BCK_FILE
    fi
  done
  exit
else
  echo "Backup path does not exist!"
  exit -1
fi
}

rotate 2> /dev/null

dump_sql
Opslaan met de naam "mysql-backup.sh" in de map "/usr/local/bin/"

Nu een cronjob aanmaken:
bijv. deze regel gebruiken indien je de scripts op die plek zet. ( aan te raden)
/usr/local/bin/mysql-backup.sh 2>&1 >> /var/log/backup-mysql.logen dit dagelijks laten lopen uiteraard.

SQL data base terug zetten doe ik eigenlijk heel ouderwets  :P
ff uitpakken naar de temp map.
cd naar die temp map>

en dan met de opdracht:
mysql -pinloggen in mysql
en dan in die temp map
\. /tmp/mijndatabase.sqlen vola de database is weer terug gezet.

Waarbij het woordje "mijndatabase" uiteraard de naam van de database moet zijn he ??
peace off cake
I don't suffer from insanity, I enjoy every minute of it.
Microsoft geeft je een raam, Linux geeft je een heel huis :D

Offline Roel1963

  • Lid
SQL-Ledger, PostgreSQL en Webmin
« Reactie #3 Gepost op: 2008/06/27, 01:04:50 »
Misschien wat minder slimme vraag, maar kun je inderdaad met mysql commando's een database restoren die gemaakt en bewerkt is met postgres?

SQL-Ledger, PostgreSQL en Webmin
« Reactie #4 Gepost op: 2008/06/27, 02:24:08 »
Hm ?
Zou je ff kunnen testen ??

Verder niet zo'n rare vraag, echter PostgreSQL heeft een ingebouwde aantal opdrachten om databasen te backuppen en te herstellen, dit heet "pg_dump"

http://www.builderau.com.au/program/mysql/soa/Back-up-and-restore-PostgreSQL-databases/0,339028784,339203041,00.htm

Zijn ook PHP scripts voor:
http://www.weberdev.com/get_example-4282.html
I don't suffer from insanity, I enjoy every minute of it.
Microsoft geeft je een raam, Linux geeft je een heel huis :D

Offline Roel1963

  • Lid
SQL-Ledger, PostgreSQL en Webmin
« Reactie #5 Gepost op: 2008/06/27, 08:06:55 »
Thanks Gandyman. Ik begin de logica heel langzaam te zien.

:D