Aangezien dat alles kapot kan, is het wel makkelijk dat je een back-up maakt van de software die je gebruikt. Aangezien ik geen zin heb omdat handmatig te doen heb ik hier een klein scriptje voor geschreven. Dit script maakt Incrementele back-ups en tar back-ups. Met crontab wordt het elke nacht om 3 uur uitgevoerd. Handig joh.
#!/bin/bash
# Backup script voor het backuppen naar een remote server op deze planeet.
# Created on 12-03-2017
# Author = Niels
# Version 012.9
# Key copyeren naar de remote server.
# ssh-keygen -t rsa
# ssh-copy-id user@123.45.56.78
# Crontabje :)
# 0 3 * * * root /usr/local/xnet/backup.sh
# service cron reload
#
LOG_FILE=/usr/local/xnet/backup.log
exec > >(tee -a ${LOG_FILE} )
#
##################Config optionsssss################################
TIME=`date +%b-%d-%y` # Datum toevoegen
SERVER=user@123.45.56.78 # Ssh`en remote username en ip.
REMOTEDES=/home/pd2lt/backup-packet # Remote directory
REMOTESYNC=/home/pd2lt/backup-packet/rsync # Remote rsync Directory
REMOVE=$(date --date="7 days ago" +%b-%d-%y) # filetjes ouder dan 7 dagen wegsmijten
# Tar File name
FILE=backup-xnet-$TIME.tar.gz # Backup file name
FILE2=backup-fbb-$TIME.tar.gz # Backup file name
FILE3=backup-conversd-$TIME.tar.gz # Backup file name
# Source pad.. Wat moet er gebackupd worden.
SRC=/usr/local/xnet # Watte.
SRC2=/usr/local/etc/ax25 # Watte.
SRC3=/usr/local/etc/conversd # Watte.
# Source pad. Local
DESDIR=/home/pd2lt/backup-packet # Waaro.
set $(date)
####################################################################
#
if test "$1" = "Sat" ; then
# Let`s tar it
tar -cpzf $DESDIR/$FILE $SRC
tar -cpzf $DESDIR/$FILE2 $SRC2
tar -cpzf $DESDIR/$FILE3 $SRC3
#
# Copy naar remote server, en vermoord filetje ouder dan 7 dagen.
scp $DESDIR/$FILE $SERVER:$REMOTEDES && rm backup-xnet-$REMOVE.tar.gz
scp $DESDIR/$FILE2 $SERVER:$REMOTEDES && rm backup-fbb-$REMOVE.tar.gz
scp $DESDIR/$FILE3 $SERVER:$REMOTEDES && rm backup-conversd-$REMOVE.tar.gz
#
else
# Let`s sync it :)
rsync -avz -e 'ssh -ax' $SRC $SERVER:$REMOTESYNC
rsync -avz -e 'ssh -ax' $SRC2 $SERVER:$REMOTESYNC
rsync -avz -e 'ssh -ax' $SRC3 $SERVER:$REMOTESYNC
#
fi
# Mail backup log
mail -s "Backup log $TIME" pd2lt@emailadres.net < backup.log
echo "Script finished on $TIME"
rm -f backup.log
# Beetje info spuwen
df -h > /tmp/mail_report.log
free -m >> /tmp/mail_report.log
ps ax >> /tmp/mail_report.log
mail -s "disk and RAM report" pd2lt@emailadres.net < /tmp/mail_report.log
De laatste paar regels….. Het back.log bestand wordt gemaild en nog wat info over het systeem. Schijf gebruik, ram gebruik en de processen die draaien.
