Raspberry Pi automate certain tasks – script example
2014-03-10
324 words
2 mins read
Now, if you have followed these :
Then you already have a working system for sending and receiving mail. Now, you can set the mda in the fetmailrc to a script which can do few things for you. The script below will get a page and mail it to you, if you have the subject as “get” and send “wake on LAN” to desired PC if you have subject as “wol”. Cool 🙂
Original idea from here.
Here is the script:
#!/bin/bash expectedFrom="" expectedFrom2="" homePC="MAC Here" mailHelp() { sendMail $1 "Help - Possible Commands" "Help" } sendMail() { echo "To: "$1 > $tmpMail echo "From: From address here" >> $tmpMail echo "Subject: "$2 >> $tmpMail echo "Content-Type: text/html" >> $tmpMail echo "" >> $tmpMail echo $3 >> $tmpMail cat $tempMail >> $tmpMail cat $tmpMail|/usr/sbin/ssmtp $1 } #here we start the actual processing rightSender=0 sender="" tmpFile=/tmp/mailtemp tmpMail="/var/tmp/mailtxt.txt" tempMail="/tmp/tosend.txt" >$tempMail >$tmpFile >$tmpMail #Write the mail to tmpFile while read line do echo $line >> $tmpFile done grep "From:" $tmpFile | grep $expectedFrom > /dev/null if [ $? -eq 0 ]; then rightSender=1 sender=$expectedFrom fi grep "From:" $tmpFile | grep $expectedFrom2 > /dev/null if [ $? -eq 0 ]; then rightSender=1 sender=$expectedFrom2 fi if [ $rightSender -eq 1 ]; then task=`grep "Subject:" $tmpFile` task=${task:9} task=`echo $task | tr [:upper:] [:lower:]` echo $task | grep "help" > /dev/null if [ $? -eq 0 ]; then mailHelp $sender exit fi fi while read line do if [[ $line =~ ^$|^Content*:*|^charset=*|^--=* ]]; then continue; fi echo "LINE :: $line" case $task in get) cmd="wget -o /dev/null -O - $line" ;; wol) cmd="sudo etherwake $$line" ;; *) cmd="$line" ;; esac eval $cmd >> $tempMail done < <( sed '1,/^$/ d' $tmpFile|sed '/^--$/,$ d') sendMail $sender "Output result of command $task" "Happy Hacking" rm $tmpFile rm $tmpMail rm $tempMail
Related articles
Related Articles:
- 2013/04/19 sendmail or sending mail
- 2011/11/28 Linux hardware details.
- 2011/09/27 some interesting alias
- 2013/11/29 Apache server stats with small and useful bash script.
- 2013/06/04 ssmtp configuration and installation – raspberry pi.
Authored By Amit Agarwal
Amit Agarwal, Linux and Photography are my hobbies.Creative Commons Attribution 4.0 International License.