phpbar.de logo

Mailinglisten-Archive

WG: Crongesteuertes Backup

WG: Crongesteuertes Backup

Jochen Metzger mysql-de_(at)_lists.bttr.org
Fri, 18 Jan 2002 09:36:06 +0100


Hi Liste,
Hi Jörg,

> Hallo zusammen,
>
> ich suche ein UNIX-Script welches über die crontab meine Datenbanken
> sichert. Gibts so was schon fertig oder muss ich es erst basteln?
>
> Besten Dank.
>

ich habe da was geschrieben, was bei uns läuft. Wird einmal täglich
ausgeführt:
Wenn Fragen sind kannst du mich gerne per PM anmailen.

1. skript -> mysqlbackup -> Löscht die Daten von gestern.
				    Sichert die Daten und packt Sie gleich und schiebt
		                Sie auf eine zweite Datenbank, die vorher geleert.

2. skript -> steptowntransfer -> Schickt das ganze an ein ftp-Server Deine
Wahl

mysqlbackup:
#!/bin/sh

# This is the filename of todays backup
FILENAME=`date "+www77_backup_%Y-%m-%d.sql.gz"`
# Filename of yesterday
FILENAME_2DAYSAGO=`date -d "1 day ago" "+www77_backup_%Y-%m-%d.sql.gz"`

# rm the old backup from yesterday first
rm -f /www/77/dump/$FILENAME_2DAYSAGO

# then make a backup of today data
mysqldump -uUSERNAME_SOURCE_DATABASE -pPASSWORD_SOURCE_DATABASE
SOURCE_DATABASE | gzip -f > /www/77/dump/$FILENAME

# DROP TABLES of backup-database of www77a
mysqldump --add-drop-table -d -uUSERNAME_Zieldatenbank -pPASSWORD_Zieldatenb
ank ZIELDATENBANK | grep 'DROP' > /www/77/dump/drop.sql
# delete all tables
# workaround because database itself can't be deleted -> no rights
mysql -uUSERNAME_Zieldatenbank -pPASSWORD_Zieldatenbank ZIELDATENBANK <
/www/77/dump/drop.sql
rm -f /www/77/dump/drop.sql


# CREATE new tables an data from TODAYS BACKUP
# writes directly to stdout without saving
/bin/gzip -cd /www/77/dump/www77_backup_2002-01-14.sql.gz |
mysql -uUSERNAME_Zieldatenbank -pPASSWORD_Zieldatenbank ZIELDATENBANK

# Transfer everything to the fileserver in the office of steptown.com
/www/77/crons/steptowntransfer

## END -> DONE

--------
2. Teil steptown_transfer


#!/bin/sh

# written by Jochen Metzger, steptown.com
# History
# 2002-01-14 created skript

# DESCRIPTION:
# opens a connection to the fileserver
# in the office of steptown.com and
# writes the daily backup to it

# create the correct name of the file to transfer
# todays backup-file is transfered
FILENAME=`date "+www77_backup_%Y-%m-%d.sql.gz"`

# now open the ftp client and do a transfer
# attention: passwd is unique - be carefully - not safed anywhere else.
(
           echo open DOMAIN_OF_DESTINATION_FTP
             echo user FTP_USER FTP_PASSWORD
             echo put /www/77/dump/$FILENAME $FILENAME
           echo close
           echo quit
        ) | ftp -n -i


## DONE

Grüße
Jochen

---
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 



php::bar PHP Wiki   -   Listenarchive