#!/bin/bash -e cd `dirname "$0"` EMAIL="your.mail.goes@here.com" NAME=`basename "$0"` LOGFILE="$NAME.log" DATFILE="$NAME.dat" # Enable User Level Cron # https://help.ubuntu.com/community/CronHowto # In order for users to have their cron jobs executed, # they must be added to the /etc/cron.allow file. # sudo cat > /etc/cron.allow </dev/stdout | grep -q $NAME ); then echo >>"$LOGFILE" "`date`: Running job." if [ ! -f $HOME/.irssi/away.log ]; then echo >>"$LOGFILE" "No away log detected" exit fi # Grep out the interesting parts of the away log #TEMPFILE=`tempfile --prefix away-` TEMPFILE=`python -c "import tempfile; print tempfile.mktemp(prefix='away-')"` (egrep -v '^---' $HOME/.irssi/away.log | tr -d -c '[:print:]\n') &>"$TEMPFILE" # If new and old files differ (or one is missing) if ! (diff -q "$DATFILE" "$TEMPFILE" &>/dev/null); then (diff --text --unified "$DATFILE" "$TEMPFILE" | \ mail -s "IRSSI away log" "$EMAIL") >>"$LOGFILE" 2>&1 mv -v "$TEMPFILE" "$DATFILE" >>"$LOGFILE" 2>&1 fi else echo >>"$LOGFILE" "`date`: Adding cron job '$CRONJOB'." echo "$CRONJOB" | crontab - &>/dev/stdout | cat >> "$LOGFILE" echo "Daemon started..." fi