#!/bin/bash ################################################# # Einfaches Shellscript zum inkrementellen Sichern von Verzeichnissen und Dateien # Dieses Script liest mitgegebene Parameter aus und bietet keinen Prompt # Basiert auf dem Backupscript von Max Kalus: http://www.auxnet.de/blog/blog-post/2008/10/27/taegliches-inkrementelles-backup-mit-cron-und-tar-unter-linux.html # # Geschrieben von Max Mehl # This application is Free Software under a GNU GPL 3.0-Licence ################################################# # Festgelegte Variablen, müssen nicht geändert werden LASTMONTHDIR=lastmonth TSNAME=timestamp.snar if [ "$1" = "" ]; then echo "Usage: backupscript-promptless.sh NAME DIRECTORY DESTINATION k/i" exit 0 elif [ "$4" = "" ]; then echo "Not enough arguments" exit 0 #else #echo "Given arguments: $1 $2 $3 $4" fi # Test ob Zielspeicherort vorhanden. Wenn nicht, erstellen if [ ! -d "$3" ]; then mkdir $3 fi # Eigentliche Backuproutine if [ "$4" = "k" ]; then #Komplettes Backup MYDATE=complete #Alte Timestamps löschen rm -f "$3/$TSNAME" #Alte Backups löschen rm -rf "$3/$LASTMONTHDIR.$1.d" #Neue alte Backups in Ordner verschieben mkdir "$3/$LASTMONTHDIR.$1.d" mv -f "$3/$1".*.tgz "$3/$LASTMONTHDIR.$1.d" elif [ "$4" = "i" ]; then #Inkrementelles Backup MYDATE=$(date +%y%m%d-%H%M) else echo "Unknown argument. Use k or i" fi #Abzug erstellen tar czf "$3"/"$1".$MYDATE.tgz -g "$3/$TSNAME" $2 2> /dev/null