# #---- editb: Edit file with archived backup # #---- John Battles (C) 2005 - License GPL 2 capgadget@gmail.com # #---- Usage: editb editor file # #---- Example: editb gedit please_dont_lose_me.c # # TODO Save changes as a diff file # Add parameter tests # # #--- Backup Dirs # if [ -d $EDIT_BACKUPS ] then echo "Using backup archive directory $EDIT_BACKUPS" else echo "$EDIT_BACKUPS does not exist attempting to create..." mkdir -v $EDIT_BACKUPS if [ -d $EDIT_BACKUPS ] then echo "Using backup archive directory $EDIT_BACKUPS" echo "Created $EDIT_BACKUPS" else echo "Cannot create $EDIT_BACKUPS" EDIT_BACKUPS="~/edit_backups" echo "Attempting to create $EDIT_BACKUPS ..." mkdir -v $EDIT_BACKUPS fi fi echo "EDIT_BACKUPS = <$EDIT_BACKUPS>" ls -l $EDIT_BACKUPS if [ -d $EDIT_BACKUPS ] then echo "Continuing..." else echo "Unable to use backup directory $EDIT_BACKUPS. Something is screwed. Aborting..." sleep 3 exit fi nowtime="`date +%Y%m%d%H%M%S`" bckfile="`basename $2`" orgsha1sum="`sha1sum $2|awk '{print $1}'`" echo "Original sha1sum = <$orgsha1sum>" cat $2|bzip2 >$EDIT_BACKUPS/$bckfile.$nowtime.bz2 & echo "Backed up $2 to $EDIT_BACKUPS/$bckfile" sleep 1 $1 $2 newsha1sum="`sha1sum $2|awk '{print $1}'`" echo "New sha1sum = <$newsha1sum>" if [ $orgsha1sum = $newsha1sum ] then echo "$2 Unchanged deleting backup <$EDIT_BACKUPS/$bckfile.$nowtime.bz2>" rm -vf $EDIT_BACKUPS/$bckfile.$nowtime.bz2 else echo "$2 Changed" sleep 1 nowtime="`date +%Y%m%d%I%M%S`" cp -pv $2 $EDIT_BACKUPS/$bckfile.$nowtime cd $EDIT_BACKUPS echo "Making backup..." bzip2 -f $EDIT_BACKUPS/$bckfile.$nowtime & sleep 1 fi # END EDITB