Files
secondo/CM-Scripts/backup.sh
2026-01-23 17:03:45 +08:00

54 lines
1.0 KiB
Bash

# !/bin/bash
#
# backup.sh: Creates (incremental) backups
#
# 14.01.05 M. Spiekermann
# include function definitions
# libutil.sh must be in a directory specified in $PATH
source ${0%/*}/libutil.sh
declare -i err=0
function checkErr {
if [ $? -ne 0 ]; then
err=$[$err + 1]
fi
}
# check arguments
if [ "$1" != "-i" -a "$1" != "-f" -o $# -ne 3 ]; then
printf "%s\n" "Usage: $0 [-i (=incremental) | -f (=full backup)] <SourceDir> <BackupDir>"
printf "%s\n" " SourceDir must have at least one /"
exit 1
fi
SourceDir="$2"
BackupDir="$3"
LastName=${2##*/}
printf "%s\n" "Backing up $SourceDir -> ${BackupDir}/$LastName ..."
if [ $1 == "-f" ]; then
printSep "Starting full backup of $SourceDir ..."
nice -n19 tar -cjf ${BackupDir}/${date_ymd}_FULL_BACKUP_OF_${LastName}.tar.bz2 --exclude secondo-data $SourceDir
checkErr $?
fi
printSep "Mirroring $SourceDir to $BackupDir ..."
rsync -vuac --exclude secondo-data $SourceDir $BackupDir/
rsync -vua $SourceDir/secondo-data $BackupDir/cvsroot
checkErr $?
exit $err