#!/bin/bash -ecd `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 <<EOD# root# $USER# EOD# Cron job to broadcast every 5 minutesCRONJOB="*/5 * * * * $PWD/$NAME"# If cron job exist, run it, else just add itif ( crontab -l &>/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 fielse echo >>"$LOGFILE" "`date`: Adding cron job '$CRONJOB'." echo "$CRONJOB" | crontab - &>/dev/stdout | cat >> "$LOGFILE" echo "Daemon started..."fi