UUGRN:Jails/uug mysql/Backup
< UUGRN:Jails | uug mysql
Datensicherung auf intern.uugrn.org.
MySQL
Intern.uugrn.org/MySQL wird täglich um 0:42 Uhr mit folgendem Script gesichert und 3 Wochen lang archiviert:
#! /bin/sh
#
#
# Datenbanken einzeln dumpen
#
DBSERVER=localhost
DBAUTH="-u root -p********"
cd -P /data/backup/mysql/
DIR="./$(date +%Y%m%d)"
mkdir -p "$DIR" || exit 1
echo "$(date): $0: Dumping MySQL Databases: start"
echo "show databases;" | /usr/local/bin/mysql ${DBAUTH} -h ${DBSERVER} | tail -n +2 |
while read DB; do
NOW=$(date +%Y%m%d%H%M%S)
FILE="${DIR}/${DB}.${NOW}.dump"
echo "$(date): $0: Dumping mysql://${DBSERVER}/${DB} to ${FILE} ..."
/usr/local/bin/mysqldump --opt ${DBAUTH} -h ${DBSERVER} "${DB}" > "${FILE}" 2>"${FILE}.err"
done
# Symlink setzen
rm latest;
ln -svf ${DIR} latest
echo "$(date): $0: Dumping MySQL Databases: all done"
# 3 Wochen Tagessicherungen aufheben
echo "$(date): $0: delete old backups: start"
( ls -1d 200?????/ | sort -rn | tail -n +22 | while read dir; do echo "./${dir}/*" ; rm -Rvf ./$dir; done ) 1>/dev/null
echo "$(date): $0: delete old backups: done"