diff --git a/backup/backup.git.sh b/backup/backup.git.sh index f75d600..2ee2b02 100755 --- a/backup/backup.git.sh +++ b/backup/backup.git.sh @@ -1,10 +1,57 @@ +CD=cd DATE=/bin/date TAR=/bin/tar -TIMESTAMP=`$DATE +%Y%m%d-%H:%M%z` +BZIP2=/bin/bzip2 +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 -$TAR -cjvf /mnt/hdd/backup/git.$TIMESTAMP.tar.bz2 /home/vahagn/git | tee -a $LOG +# +# 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) 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