X-Git-Url: http://git.tpope.net/?p=tpope-extra.git;a=blobdiff_plain;f=bin%2Fcritical-backup;h=2eac413ba50077b2596989c119f5cefcc8c8bada;hp=884183c6c0205ff69b7046ef6a0c3e25ff35b7c1;hb=refs%2Fheads%2Fmaster;hpb=3473cb486d27fdfab3e9494d3e17bc70d8677e3f diff --git a/bin/critical-backup b/bin/critical-backup index 884183c..2eac413 100755 --- a/bin/critical-backup +++ b/bin/critical-backup @@ -5,7 +5,15 @@ PATH="$HOME/bin:/usr/local/bin:/usr/bin:/bin" ARCHIVE="tpope-`date +%Y-%m-%d`.tar.gpg" -exec >/dev/null 2>&1 &2 + echo "FROM=, and GPGID= lines.">&2 + exit 1 +fi + +exec >/dev/null mysqldump.sql -tar chf - tpope.tar cvs mysqldump.sql |\ -gpg -qez 9 -r A356C8D546EEFD2C --batch --no-tty > $ARCHIVE -#gpg -qcz 9 --batch --no-tty --passphrase-fd 3 > $ARCHIVE 3</var/www/tpope.tar.gz +tar chf - tpope.tar cvs |\ +gpg -qez 9 -r "$GPGID" --batch --no-tty > $ARCHIVE + +[ -d "$HOME/backup-`date +%Y`" ] || mkdir "$HOME/backup-`date +%Y`" +cp $ARCHIVE "$HOME/backup-`date +%Y`/" +scp -Bq -oSetupTimeout=30 $ARCHIVE tpope-486.jmwaller.com:backup/ 2>/dev/null +scp -Bq $ARCHIVE steve:tpope.tar.gpg 2>/dev/null + +d="`date +%d`" +if [ "$d" = 01 -o "$d" = 08 -o "$d" = 16 -o "$d" = 23 -o "$1" = "-m" ]; then + mimencode $ARCHIVE | mail -s "Backup for `date +%Y-%m-%d`" $EMAIL \ + -a "Content-Type: application/octet-stream; name=$ARCHIVE" \ + -a "Content-Disposition: attachment; filename=$ARCHIVE" \ + -a "Content-Transfer-Encoding: base64" \ + -a "From: $FROM" +fi + +if true; then + : +elif [ "`date +%m%d`" = "0101" -o "$1" = "-c" ]; then + mkisofs -r -J -o back.iso "$HOME/backup-`date +%Y`" 2>/dev/null + if ! sudo cdrecord -tao -data -multi speed=4 back.iso 2>/dev/null; then + echo "Error: blank CD not found. Please call `basename $0` manually" >&2 + fi +elif [ "`date +%m%d`" = "1231" ]; then + s="`sudo cdrecord -msinfo 2>/dev/null`" + if [ "$s" ]; then + mkisofs -r -J -o back.iso -M /dev/cdr -C "$s" "$HOME/backup-`date +%Y`" 2>/dev/null + sudo cdrecord -tao -data speed=4 back.iso 2>/dev/null + else + echo "Error. Is the CD in the drive?" >&2 + fi + echo "Yearly backup finished. Please put a blank CD in the drive." >&2 +elif [ "$d" = 01 -o "$d" = 08 -o "$d" = 16 -o "$d" = 23 ]; then + s="`sudo cdrecord -msinfo 2>/dev/null`" + echo "s=$s" + if [ "$s" ]; then + mkisofs -r -J -o back.iso -M /dev/cdr -C "$s" "$HOME/backup-`date +%Y`" + sudo cdrecord -tao -data -multi speed=4 back.iso || \ + echo "CD burning failed." >&2 + else + echo "Error. Is the CD in the drive?" >&2 + fi +fi + cd .. rm -rf /tmp/.critical-$LOGNAME-$$