CD=cd DATE=/bin/date TAR=/bin/tar BZIP2=/bin/bzip2 GIT=/usr/bin/git GPG=/usr/bin/gpg PASS=/home/vahagn/.gnupg/backup-passphrase SRC=/home/vahagn/git KEEP=5 BACKUP_DIR=/home/vahagn/gdrive/backup TIMESTAMP=`$DATE +%Y%m%d-%H:%M%z` LOG=/mnt/hdd/backup/backup.git.$TIMESTAMP.log BACKUP=$BACKUP_DIR/git.$TIMESTAMP.tar.bz2.gpg SIGNATURE=$BACKUP_DIR/git.$TIMESTAMP.tar.bz2.sig # # debug # #LOG=/home/vahagn/devel/scripts/backup/log.log #BACKUP=/home/vahagn/devel/scripts/backup/git.tar.bz2.gpg #SRC=/home/vahagn/git/scripts.git # # Header # echo Starting $LOG | tee -a $LOG echo start `$DATE` | tee -a $LOG # # Sync with BitBucket upstream repos. # $CD $SRC/scripts.git $GIT fetch $CD $SRC/test.git $GIT fetch # # cd to git directory and then bzip2 all content and crypt it. # $CD $SRC ($TAR -cvp . | $BZIP2 -c | $GPG -c --passphrase-file $PASS --output $BACKUP --batch --quiet ) 2>&1| tee -a $LOG # # Remove old files # $CD $BACKUP_DIR i=0 for FILE in `ls -t git.*.tar.bz2.gpg`; do if [ $i -ge $KEEP ]; then echo "$FILE is removed to meet keep number of backups $KEEP." | tee -a $LOG rm $FILE 2>&1| tee -a $LOG fi; i=`expr $i + 1` done i=0 for FILE in `ls -t git.*.tar.bz2.sig`; do if [ $i -ge $KEEP ]; then echo "$FILE is removed to meet keep number of backups $KEEP." | tee -a $LOG rm $FILE 2>&1| tee -a $LOG fi; i=`expr $i + 1` done # # Footer # echo end `$DATE` | tee -a $LOG