Mailinglisten-Archive | 
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