Back-up script(je)

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.