Back-ups (Beheer)¶
MySQL¶
Elke nacht om 00:23 door root (wordt beheerd door NTG) de backup gestart vanuit:/local/mysql-tools/dump-mysql-db-sdie om ongeveer 09:45 klaar is. Tijdens het maken van de backup zal er op deze locatie een lock file staan:
/backup/mysql-dumps/get-mydbs/dump-mysql-db-s.is.runningDeze wordt gebruikt door andere nachtelijk cronjobs van OpenTaal die pas starten als de database backup klaar is. Zie ook Beheer en De techniek achter OpenTaal. Jobs die deze lockfile gebruiken zijn:
- distributedHarvester/overzetten_02/transfer.sh
- distributedHarvester/currentVersion/harvest.sh
- cron-harvest.sh
- cron-hourly.sh
- cron-harvest-process.sh
/backup/mysql-dumps/Deze bestanden zien er zo uit:
mysql.dump.YYYYMMDD.gz (~70 KB, database met gebruikersaccounts) opentaal.dump.YYYYMMDD.gz (~11 GB, de belangrijkste database) opentaalOogst.dump.YYYYMMDD.gz (~38 MG, additionale database)
Let op: Dit zijn de enige backups die er van de database bestaan met een historie van zeven dagen terug! TODO Er zal eens in de ?? dagen ook een off-site backup gemaakt moeten worden!
Webserver inclusief geoogste zinnen¶
Elke nacht om 0:05 door root (wordt beheerd door NTG) de backup gestart vanuit:/local/etc/backup-opentaaldie om ongeveer 04:25 klaar is. Tijdens het maken van de backup zal er op deze locatie een lock file staan:
/var/www2/opentaal.nl/data/htdocs/opentaalbank/backup.is.runningDeze wordt gebruikt door andere nachtelijk cronjobs van OpenTaal die pas starten als de database backup klaar is. Zie ook Beheer en De techniek achter OpenTaal. Jobs die deze lockfile gebruiken zijn:
- distributedHarvester/overzetten_02/transfer.sh
- cron-harvest.sh
- cron-hourly.sh
- cron-harvest-process.sh
- nightjob.sh
/backup/opentaal-backups/Deze bestanden zien er zo uit:
backup-opentaal.nl-YYYYMMDD-0005.tar.gz (~27 GB, document root werbserver met geoogste zinnen) index-backup-opentaal.nl-YYYYMMDD-0005.tar.gz (~2.7 MB, ASCII bestand met log van welke bestanden er in de backup zitten)
Let op: Dit zijn de enige twee back-ups die er van de database bestaan! TODO Er zal eens in de ?? dagen ook een back-up op een andere machine gemaakt moeten worden!
Home-directory's¶
Door root (wordt beheerd door NTG) wordt om vier over half elf 's avonds deze cronjob uitgevoerd# make a backup of all disks 43 22 * * * /local/etc/mk-backupen alle home directory's in /home worden hierdoor geback-upt.
Let op: Er is alleen een back-up van de vorige dag beschikbaar. Belangrijke software moet in onze subversion versiebeheer worden opgeslagen en belangrijke data in de database of in document root van de webserver!
Legacy¶
Onderstaande documentatie moet worden opgeruimd of een juiste plek in bovenstaande paragrafen worden gegeven.
Voorbeeld:
#!/bin/bash
# Variabelen
DIR2BACKUP=/home/bob/
BACKUP_DOW=`date +%w`
BACKUP_TS=`date +%Y%m%d-%H%M.%S`
ZIPFILE=backup-$BACKUP_TS.zip
## Extra voorbeeld:
# back-up van xml-bestanden de afgelopen 4 dagen = -4
# find $DIR2BACKUP -ctime -4 -type f -name "*.xml" -exec zip -m $ZIPFILE {} \;
# back-up van de afgelopen dag
#find $DIR2BACKUP -ctime -1 -type f -exec zip -m $ZIPFILE {} \;
# Ruud: moet zijn:
find $DIR2BACKUP -mtime -1 -type f -exec zip $ZIPFILE {} \;
# mailen van bestanden
# Ruud: incrementals en full zijn hier echt te groot voor!
#unzip -l $ZIPFILE | mutt -a $ZIPFILE -s "[OpenTaal] back-up $DATE" bob.vandeloo@opentaal.org
off-site back-up MySQL
Draft
#!/bin/bash
# maandag en vrijdag om 22h
# => mysql za, zo, wo, do, 4x 11GB
# => zinnen ma, vr; 2x 30GB
# host settings
SSH_HOST=bob@balder.ntg.nl
SSH_PORT=22
TARGET_BACKUP=/media/multimedia/opentaal
# Datums
# Voor zinnen
DATE_0=`date +%Y%m%d`
# Voor MySQL db's
DATE_1=`date --date="1 days ago" +%Y%m%d`
#DATE_2=`date --date="2 days ago" +%Y%m%d`
# rsync options
# -C is niet nodig, data is al gecomprimeerd. Dan duurt het alleen maar langer ;-)
RSYNC_OPTIONS="-e 'ssh -p $SSH_PORT' -auv"
# MySQL back-ups
echo "rsync $RSYNC_OPTIONS $SSH_HOST:/backup/mysql-dumps/[Oo]pentaal*$DATE_1.* $TARGET_BACKUP/mysql/"
if test $DATE_2
then
echo "rsync $RSYNC_OPTIONS $SSH_HOST:/backup/mysql-dumps/[Oo]pentaal*$DATE_2.* $TARGET_BACKUP/mysql/"
fi
# Zinnen back-ups
echo "rsync $RSYNC_OPTIONS $SSH_HOST:/backup/opentaal-backups/*-$DATE_0-* $TARGET_BACKUP/zinnen/"