Public feed
#724651
#!/bin/bash
# angelday's minimal backup stuff
SELF=${0##*/}
SRC=/data
DEV=/dev/sdc1
MTPT=/sdc1
STAMP=$( date +%F )
say () {
local n
if [ "$1" -eq "-n" ]; then
n="-n"
shift
fi
if [ -n "$TMPFILE" ]; then
echo $n "${SELF}: $@" >>$TMPFILE 2>&1
else
echo $n "${SELF}: $@"
fi
}
if fgrep -qw "$MTPT" /proc/mounts; then
say "ERROR: $MTPT is already mounted, exiting!"
exit 1
fi
TMPFILE=$( mktemp )
if [ $? != 0 ]; then
say 'Cannot create tmp file.... Exiting.'
exit 2
fi
say "init" > $TMPFILE
say -n "starting at "
date >> $TMPFILE
say "mounting $DEV on ${MTPT}..."
mkdir -p ${MTPT}
mount ${DEV} ${MTPT} >>$TMPFILE 2>&1
if [ $? = 0 ]; then
say "starting rsync..."
rsync -a --delete --delete-before --exclude "LAST-BACKUP-*" ${SRC}/ ${MTPT} >>$TMPFILE 2>&1
if [ $? != 0 ]; then
say "WARNING: rsync exited with error, check backup"
fi
say "unmounting ${DEV}..."
umount $DEV >>$TMPFILE 2>&1
if [ $? = 0 ]; then
say -n "finished at "
date >>$TMPFILE 2>&1
rm -f ${SRC}/LAST-BACKUP-*
touch ${SRC}/LAST-BACKUP-${STAMP}
else
say "ERROR: cannot umount $DEV!"
fi
else
say "ERROR: cannot mount $DEV on ${MTPT}, exiting."
fi
mail angelday@index.hu < $TMPFILE
rm -f $TMPFILE
exit 0
# End of file.