X-Git-Url: http://git.tpope.net/?a=blobdiff_plain;f=bin%2Fcritical-backup;h=5b63a383f15892c5f3587134b57b55af42f03a20;hb=e8cfecd0c0b02c1933829459abdde7e6ffeba3c8;hp=884183c6c0205ff69b7046ef6a0c3e25ff35b7c1;hpb=3473cb486d27fdfab3e9494d3e17bc70d8677e3f;p=tpope-extra.git diff --git a/bin/critical-backup b/bin/critical-backup index 884183c..5b63a38 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 +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 patman:backup/ 2>/dev/null || \ +scp -Bq -oSetupTimeout=30 $ARCHIVE chief:backup/ 2>/dev/null +scp -Bq -oSetupTimeout=30 $ARCHIVE right:backup/ 2>/dev/null +scp -Bq $ARCHIVE snowball: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 [ "`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`" + 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 -multi speed=4 back.iso >/dev/null 2>&1 || \ + echo "CD burning failed." >&2 + else + echo "Error. Is the CD in the drive?" >&2 + fi +fi + cd .. rm -rf /tmp/.critical-$LOGNAME-$$