123456789101112131415161718192021222324252627282930313233343536373839404142 |
- #!/bin/bash
- trap "exit" INT
- basedir=`dirname "$0"`
- cd "$basedir/.."
- mailcfgfp="../conf/mail.conf"
- mailmta=`cat "${mailcfgfp}" | grep -P '^mta=' | sed -e 's/^mta=//' -e 's/^"//' -e 's/"$//'`
- mailfrom=`cat "${mailcfgfp}" | grep -P '^from=' | sed -e 's/^from=//' -e 's/^"//' -e 's/"$//'`
- mailto=`cat "${mailcfgfp}" | grep -P '^to=' | sed -e 's/^to=//' -e 's/^"//' -e 's/"$//'`
- subj=""
- lastmailts=$((0))
- newmailwait=$((12*60*60))
- resurrfp=".pcresurrectdone"
- cmdlogfp="peerscrawl.log"
- logfp="pcloop.log"
- resdom=$((25)) # day of month when (or after when, if it has not been done already) to execute peerscrawl.php with a gracetime of 2 months
- function log {
- echo `date "+%Y-%m-%d %H:%M:%S.%N"` "${1}" >> "${logfp}"
- }
- while true; do
- dom=$(($(expr $(date "+%d") + 0)))
- [ $dom -lt $resdom -a -f "$resurrfp" ] && rm "$resurrfp"
- if [[ ($dom -ge $resdom ) && !(-f "$resurrfp") ]]; then # use a gracetime of 2 months
- touch "$resurrfp"
- log "### Starting peerscrawl.php with a 2 months gracetime ###"
- ./peerscrawl.php -g 2M -e peerscrawl.exclude &> $cmdlogfp
- else # use the default gracetime
- log "### Starting peerscrawl.php with the default gracetime ###"
- ./peerscrawl.php -e peerscrawl.exclude &> $cmdlogfp
- fi
- pcrv=$?
- tail $cmdlogfp >> $logfp
- log "### THE END ###"
- cp "$cmdlogfp" "${cmdlogfp}.old"
- now=$(($(expr $(date "+%s") + 0)))
- if [ $(($now-$lastmailts)) -gt $newmailwait ]; then
- [ $pcrv == "0" ] && subj="peerscrawl.php: tutto ok :-)" || subj="peerscrawl.php: uscito con errore: ${pcrv} :-("
- tail $logfp | s-nail -s "${subj}" -S v15-compat -S from="${mailfrom}" -S smtp-use-starttls -S mta="${mailmta}" "${mailto}"
- lastmailts=$(($(expr $(date "+%s") + 0)))
- fi
- done
- exit 0;
|