42 lines
1.7 KiB
Bash
Executable file
42 lines
1.7 KiB
Bash
Executable file
#!/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;
|