#!/bin/sh # $Id$ # -*- sh -*- vim: ft=sh sw=4 sts=4 PATH="$HOME/bin:/usr/local/bin:/usr/bin:/bin" ARCHIVE="tpope-`date +%Y-%m-%d`.tar.gpg" if [ -f "$HOME/.critical-backuprc" ]; then . "$HOME/.critical-backuprc" else echo "Error: Please create a ~/.critical-backuprc which includes EMAIL=,">&2 echo "FROM=, and GPGID= lines.">&2 exit 1 fi exec >/dev/null mysqldump.sql 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-$$