Backup: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
Line 1: | Line 1: | ||
= | = backup naar bit = | ||
Via backup2bit trekt elke nacht rond 01:00 een back-up met snap shots van onze server.<br> | |||
In de nacht van zondag op maandag wordt een full back-up getrokken.<br> | |||
De rest zijn incrimentals.<br> | |||
We bewaren 5 full back-up's en de dagelijkse backup's worden elke week overschreven.<br> | |||
= back-up naar nas = | |||
Elke dag wordt met rsync een volledige back-up naar de nas getrokken '''zonder snapshots''' | |||
== script == | |||
<pre> | |||
#!/bin/bash | |||
LOGFILE="/var/log/backup2nas.log" | |||
HNET_LIB=/usr/local/hobbynet/lib | |||
HNET_LOCK=$HNET_LIB/backup2nas.lock | |||
MOUNTDIR=/mnt/backup-nas | |||
BACKUPTARGET=$MOUNTDIR/disk | |||
BACKUP_MOUNT_CHECK_FILE=$MOUNTDIR/ikbengemount.txt | |||
HNET_LOCK_TIME=1200 | |||
if [ -e $HNET_LOCK ]; then | |||
echo "lock file $HNET_LOCK gedetecteerd" >&2 | |||
if test "`find $HNET_LOCK -mmin +$HNET_LOCK_TIME`" | |||
then | |||
echo "`date +%F+%R` Lock file $HNET_LOCK is ouder dan $HNET_LOCK_TIME minuten en is daarom verwijderd" >&2 | |||
rm $HNET_LOCK | |||
echo "het eventueel nog lopend rsync proces wordt getermineerd" | |||
echo "backup naar $BACKUPTARGET loopt langer dan $HNET_LOCK_TIME minuten, daarom is dit proces getermineerd" | mail -s backup2nas rootmail@hobby.nl | |||
logger -p auth.notice "=*= backup naar $BACKUPTARGET loopt langer dan $HNET_LOCK_TIME minuten, daarom is dit proces getermineerd =*=" | |||
pkill -f "rsync -a /disk/ $BACKUPTARGET -r -t --delete" | |||
else | |||
echo "Script $0 draait op moment al " >&2 | |||
echo "Is dit niet het geval, verwijder $HNET_LOCK en draai het script opnieuw" >&2 | |||
exit | |||
fi | |||
fi | |||
touch $HNET_LOCK | |||
== | logger -p auth.notice "=*= backup2nas started on server backup2bit =*=" | ||
echo "`date +%F+%R` bezig met backupen van /disk naar backup-hobbynet.hobby.nl" >>"$LOGFILE" | |||
date >>"$LOGFILE" | |||
if [ ! -e $BACKUP_MOUNT_CHECK_FILE ]; then | |||
echo "$MOUNTDIR wordt gemount" | |||
mount $MOUNTDIR | |||
fi | |||
if [ -e $BACKUP_MOUNT_CHECK_FILE ]; then | |||
echo "`date +%F+%R` bezig met backupen van /disk naar $BACKUPTARGET" | |||
rsync -a /disk/ $BACKUPTARGET -r -t --delete | |||
echo "`date +%F+%R` klaar met backup van /disk naar backup-hobbynet.hobby.nl" >>"$LOGFILE" | |||
date >>"$LOGFILE" | |||
echo "------------" >>"$LOGFILE" | |||
echo "`date +%F+%R` klaar met backup van /disk naar $BACKUPTARGET" | |||
logger -p auth.notice "=*= backup2nas finished on server backup2bit =*=" | |||
fi | |||
if [ ! -e $BACKUP_MOUNT_CHECK_FILE ]; then | |||
== | echo "`date +%F+%R` backup van /disk naar $BACKUPTARGET MISLUKT" | ||
Elke dag | echo "backup van /disk naar $BACKUPTARGET MISLUKT" | mail -s backup2nas rootmail@hobby.nl | ||
logger -p auth.notice "=*= backup2nas MISLUKT on server backup2bit =*=" | |||
fi | |||
</pre> | |||
= back-up naar bas (offsite) = | |||
Elke dag wordt met rsync een volledige back-up naar de nas bij Bas getrokken '''zonder snapshots'''<br> | |||
Dit doen we stel er gebeurt er wat met BIT dan hebben we nog alles achter de hand. <br> | |||
De backup op de nas zijn volledig encrypted, encryptie sleutels zijn bekend bij Bas en Hans | |||
== script == | |||
<pre> | |||
#!/bin/bash | |||
LOGFILE="/var/log/backup2bas.log" | |||
HNET_LIB=/usr/local/hobbynet/lib | |||
HNET_LOCK=$HNET_LIB/backup2bas.lock | |||
MOUNTDIR=/mnt/backup-bas | |||
BACKUPTARGET=$MOUNTDIR/disk | |||
BACKUP_MOUNT_CHECK_FILE=$MOUNTDIR/ikbengemount.txt | |||
HNET_LOCK_TIME=1200 | |||
if [ -e $HNET_LOCK ]; then | |||
echo "lock file $HNET_LOCK gedetecteerd" >&2 | |||
if test "`find $HNET_LOCK -mmin +$HNET_LOCK_TIME`" | |||
then | |||
echo "`date +%F+%R` Lock file $HNET_LOCK is ouder dan $HNET_LOCK_TIME minuten en is daarom verwijderd" >&2 | |||
rm $HNET_LOCK | |||
echo "het eventueel nog lopend rsync proces wordt getermineerd" | |||
echo "backup naar $BACKUPTARGET loopt langer dan $HNET_LOCK_TIME minuten, daarom is dit proces getermineerd" | mail -s backup2bas rootmail@hobby.nl | |||
logger -p auth.notice "=*= backup naar $BACKUPTARGET loopt langer dan $HNET_LOCK_TIME minuten, daarom is dit proces getermineerd =*=" | |||
pkill -f "rsync -a /disk/ $BACKUPTARGET -r -t --delete" | |||
else | |||
echo "Script $0 draait op moment al " >&2 | |||
echo "Is dit niet het geval, verwijder $HNET_LOCK en draai het script opnieuw" >&2 | |||
exit | |||
fi | |||
fi | |||
touch $HNET_LOCK | |||
== | logger -p auth.notice "=*= backup2bas started on server userstore1 =*=" | ||
echo "`date +%F+%R` bezig met backupen van /disk naar backup-hobbynet.hobby.nl" >>"$LOGFILE" | |||
date >>"$LOGFILE" | |||
if [ ! -e $BACKUP_MOUNT_CHECK_FILE ]; then | |||
echo "$MOUNTDIR wordt gemount" | |||
mount $MOUNTDIR | |||
fi | |||
= | if [ -e $BACKUP_MOUNT_CHECK_FILE ]; then | ||
[[ | echo "`date +%F+%R` bezig met backupen van /disk naar $BACKUPTARGET" | ||
rsync -a /disk/ $BACKUPTARGET -r -t --delete | |||
echo "`date +%F+%R` klaar met backup van /disk naar backup-hobbynet.hobby.nl" >>"$LOGFILE" | |||
date >>"$LOGFILE" | |||
echo "------------" >>"$LOGFILE" | |||
echo "`date +%F+%R` klaar met backup van /disk naar $BACKUPTARGET" | |||
logger -p auth.notice "=*= backup2bas finished on server userstore1 =*=" | |||
fi | |||
if [ ! -e $BACKUP_MOUNT_CHECK_FILE ]; then | |||
echo "`date +%F+%R` backup van /disk naar $BACKUPTARGET MISLUKT" | |||
echo "backup van /disk naar $BACKUPTARGET MISLUKT" | mail -s backup2bas rootmail@hobby.nl | |||
logger -p auth.notice "=*= backup2bas MISLUKT on server userstore1 =*=" | |||
fi | |||
rm $HNET_LOCK | |||
</pre> | |||
= database backups = | |||
Elke dag worden op alle databases gebackupt van de servers waar mysql op draait. | |||
Voor tijden zie [[crontabs]] |
Revision as of 12:35, 10 February 2019
backup naar bit
Via backup2bit trekt elke nacht rond 01:00 een back-up met snap shots van onze server.
In de nacht van zondag op maandag wordt een full back-up getrokken.
De rest zijn incrimentals.
We bewaren 5 full back-up's en de dagelijkse backup's worden elke week overschreven.
back-up naar nas
Elke dag wordt met rsync een volledige back-up naar de nas getrokken zonder snapshots
script
#!/bin/bash LOGFILE="/var/log/backup2nas.log" HNET_LIB=/usr/local/hobbynet/lib HNET_LOCK=$HNET_LIB/backup2nas.lock MOUNTDIR=/mnt/backup-nas BACKUPTARGET=$MOUNTDIR/disk BACKUP_MOUNT_CHECK_FILE=$MOUNTDIR/ikbengemount.txt HNET_LOCK_TIME=1200 if [ -e $HNET_LOCK ]; then echo "lock file $HNET_LOCK gedetecteerd" >&2 if test "`find $HNET_LOCK -mmin +$HNET_LOCK_TIME`" then echo "`date +%F+%R` Lock file $HNET_LOCK is ouder dan $HNET_LOCK_TIME minuten en is daarom verwijderd" >&2 rm $HNET_LOCK echo "het eventueel nog lopend rsync proces wordt getermineerd" echo "backup naar $BACKUPTARGET loopt langer dan $HNET_LOCK_TIME minuten, daarom is dit proces getermineerd" | mail -s backup2nas rootmail@hobby.nl logger -p auth.notice "=*= backup naar $BACKUPTARGET loopt langer dan $HNET_LOCK_TIME minuten, daarom is dit proces getermineerd =*=" pkill -f "rsync -a /disk/ $BACKUPTARGET -r -t --delete" else echo "Script $0 draait op moment al " >&2 echo "Is dit niet het geval, verwijder $HNET_LOCK en draai het script opnieuw" >&2 exit fi fi touch $HNET_LOCK logger -p auth.notice "=*= backup2nas started on server backup2bit =*=" echo "`date +%F+%R` bezig met backupen van /disk naar backup-hobbynet.hobby.nl" >>"$LOGFILE" date >>"$LOGFILE" if [ ! -e $BACKUP_MOUNT_CHECK_FILE ]; then echo "$MOUNTDIR wordt gemount" mount $MOUNTDIR fi if [ -e $BACKUP_MOUNT_CHECK_FILE ]; then echo "`date +%F+%R` bezig met backupen van /disk naar $BACKUPTARGET" rsync -a /disk/ $BACKUPTARGET -r -t --delete echo "`date +%F+%R` klaar met backup van /disk naar backup-hobbynet.hobby.nl" >>"$LOGFILE" date >>"$LOGFILE" echo "------------" >>"$LOGFILE" echo "`date +%F+%R` klaar met backup van /disk naar $BACKUPTARGET" logger -p auth.notice "=*= backup2nas finished on server backup2bit =*=" fi if [ ! -e $BACKUP_MOUNT_CHECK_FILE ]; then echo "`date +%F+%R` backup van /disk naar $BACKUPTARGET MISLUKT" echo "backup van /disk naar $BACKUPTARGET MISLUKT" | mail -s backup2nas rootmail@hobby.nl logger -p auth.notice "=*= backup2nas MISLUKT on server backup2bit =*=" fi
back-up naar bas (offsite)
Elke dag wordt met rsync een volledige back-up naar de nas bij Bas getrokken zonder snapshots
Dit doen we stel er gebeurt er wat met BIT dan hebben we nog alles achter de hand.
De backup op de nas zijn volledig encrypted, encryptie sleutels zijn bekend bij Bas en Hans
script
#!/bin/bash LOGFILE="/var/log/backup2bas.log" HNET_LIB=/usr/local/hobbynet/lib HNET_LOCK=$HNET_LIB/backup2bas.lock MOUNTDIR=/mnt/backup-bas BACKUPTARGET=$MOUNTDIR/disk BACKUP_MOUNT_CHECK_FILE=$MOUNTDIR/ikbengemount.txt HNET_LOCK_TIME=1200 if [ -e $HNET_LOCK ]; then echo "lock file $HNET_LOCK gedetecteerd" >&2 if test "`find $HNET_LOCK -mmin +$HNET_LOCK_TIME`" then echo "`date +%F+%R` Lock file $HNET_LOCK is ouder dan $HNET_LOCK_TIME minuten en is daarom verwijderd" >&2 rm $HNET_LOCK echo "het eventueel nog lopend rsync proces wordt getermineerd" echo "backup naar $BACKUPTARGET loopt langer dan $HNET_LOCK_TIME minuten, daarom is dit proces getermineerd" | mail -s backup2bas rootmail@hobby.nl logger -p auth.notice "=*= backup naar $BACKUPTARGET loopt langer dan $HNET_LOCK_TIME minuten, daarom is dit proces getermineerd =*=" pkill -f "rsync -a /disk/ $BACKUPTARGET -r -t --delete" else echo "Script $0 draait op moment al " >&2 echo "Is dit niet het geval, verwijder $HNET_LOCK en draai het script opnieuw" >&2 exit fi fi touch $HNET_LOCK logger -p auth.notice "=*= backup2bas started on server userstore1 =*=" echo "`date +%F+%R` bezig met backupen van /disk naar backup-hobbynet.hobby.nl" >>"$LOGFILE" date >>"$LOGFILE" if [ ! -e $BACKUP_MOUNT_CHECK_FILE ]; then echo "$MOUNTDIR wordt gemount" mount $MOUNTDIR fi if [ -e $BACKUP_MOUNT_CHECK_FILE ]; then echo "`date +%F+%R` bezig met backupen van /disk naar $BACKUPTARGET" rsync -a /disk/ $BACKUPTARGET -r -t --delete echo "`date +%F+%R` klaar met backup van /disk naar backup-hobbynet.hobby.nl" >>"$LOGFILE" date >>"$LOGFILE" echo "------------" >>"$LOGFILE" echo "`date +%F+%R` klaar met backup van /disk naar $BACKUPTARGET" logger -p auth.notice "=*= backup2bas finished on server userstore1 =*=" fi if [ ! -e $BACKUP_MOUNT_CHECK_FILE ]; then echo "`date +%F+%R` backup van /disk naar $BACKUPTARGET MISLUKT" echo "backup van /disk naar $BACKUPTARGET MISLUKT" | mail -s backup2bas rootmail@hobby.nl logger -p auth.notice "=*= backup2bas MISLUKT on server userstore1 =*=" fi rm $HNET_LOCK
database backups
Elke dag worden op alle databases gebackupt van de servers waar mysql op draait. Voor tijden zie crontabs