#!/bin/bash datefile=/usr/local/bin/birthday.lst emailfile=/usr/local/bin/email.lst day=`date +%d` month=`date +%m` year=`date +%Y` #Funktion, um eine SMS mit dem Namen und dem Alter an die uebergeben Nummer zu schicken #Aufruf: f_send_sms function f_send_sms(){ name=$1 alter=$2 nummer=$3 echo "Hallo $name. Ich wuensche dir zu deinem $alter. Geburtstag alles Gute. Patrick" | /usr/bin/gammu sendsms TEXT $nummer > /dev/null 2>&1 } #Funktion, um eine email-Erinnerung an eine Adresse zu schicken #Aufruf: f_send_email function f_send_email(){ name=$1 alter=$2 nummer=$3 email=$4 # echo "IFS=$IFS" IFS=$' ;\n\t' mailadressen=(`grep -v "^#" $emailfile`) # echo "Anzahl der Mailadressen ${#mailadressen[*]}" for (( index_1=0 ; $index_1<${#mailadressen[*]} ; index_1++ )) do # echo "Anzahl der Mailadressen ${#mailadressen[*]}" echo -e "\nHallo\n\nIch wollte dich an den Geburtstag von $name erinnern.\n$name wird heute $alter Jahre alt.\nSchick Ihm halt mal eine SMS unter $nummer\n\nGruss Zeus" | /usr/bin/mail -s "Geburtstagserinnerung" ${mailadressen[$index_1]} done } #Auslesen der Zeilen IFS=$'\n' b_array=(`grep -v "^#" $datefile`) #Auslesen der Spalten jeder Zeile # ---- For-Schleife (von 1 bis ende Array) for (( index=0; $index < ${#b_array[*]}; index++ )) do # echo "index: $index" # echo "anzahl: ${#b_array[*]}" #Auslesen der Spalten jeder Zeile IFS=$';' birthday=(${b_array[$index]}) #echo "Eintrag Birthday 0: ${birthday[0]}" #echo "Eintrag Birthday 1: ${birthday[1]}" gebday=`echo ${birthday[0]} | cut -d'.' -f 1` gebmonth=`echo ${birthday[0]} | cut -d'.' -f 2` gebyear=`echo ${birthday[0]} | cut -d'.' -f 3` # echo -e "$gebday\n$gebmonth\n$gebyear" #Ueberpruefung des Tages und des Monats. Wenn beides zutreffend ist, wird eine SMS an den Empfaenger geschickt if [ $gebday = $day ] then if [ $gebmonth = $month ] then (( alter = $year - $gebyear )) smsemail=`echo ${birthday[3]} | tr -s '[:lower:]' '[:upper:]'` # echo $smsemail for_date=${birthday[0]} for_name_komplett=${birthday[1]} for_name=${birthday[2]} for_nr=${birthday[4]} case $smsemail in 'SMS') f_send_sms $for_name $alter $for_nr ;; 'EMAIL') f_send_email "$for_name_komplett" $alter $for_nr $emailziel ;; 'SMS/EMAIL'|'EMAIL/SMS') f_send_email "$for_name_komplett" $alter $for_nr $emailziel f_send_sms $for_name $alter $for_nr ;; *) esac fi fi done # ---- Ende For-Schleife