Linux rsync backup script
HOW TO USE:
- edit following file and set DIR as the directory you wish to backup.
- save as backup.sh
- make exceutable with ‘chmod +x backup.sh’
- Run with ./backup.sh /mnt/mymedia (where /mnt/mymedia is the location you wish to backup to
#!/bin/sh # Enter absolute path of directory you wish to backup # DO NOT FORGET TRIALING SLASH!! DIR=/root/importantdir/ # ---------------------- DO NOT EDIT BELOW THIS LINE-------------------------- # if [ $# -lt 1 ]; then echo "No destination defined. Usage: $0 destination" >&2 exit 1 elif [ $# -gt 1 ]; then echo "Too many arguments. Usage: $0 destination" >&2 exit 1 fi START=$(date +%s) DAY=`date +%d` MONTH=`date +%m` YEAR=`date +%Y` TIME=$(date '+%A, %d %B %Y, %T') TODAY="$YEAR""_""$MONTH""_""$DAY" BKDIR="$1/$TODAY" LOG=$BKDIR/backup_$TODAY.log if [ ! -d "$BKDIR" ]; then mkdir -p $BKDIR fi echo "Backup on: $TIME n" > $LOG rsync -aAXvh $DIR* $BKDIR | tee -a $LOG FINISH=$(date +%s) echo "total time: $(( ($FINISH-$START) / 60 )) minutes, $(( ($FINISH-$START) % 60 )) seconds" >> $LOG
Recent Comments