MastodonHelp/web/clitools/maintain/crawl.bash
2022-12-17 15:02:52 +01:00

60 lines
1.8 KiB
Bash
Executable file
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
if [ -z "$1" ]; then
>&2 echo "Sintassi: crawl.bash <directory in cui stanno crawl.php ecc.> [dopeers]"
exit 1
elif [ ! -d "$1" ]; then
>&2 echo "«$1» non esiste o non è una directory, muoio."
exit 1
fi
cd "$1"
MAILCFG="../conf/mail.conf"
LOGF="crawl.log"
MAILF="mail"
mailmta=`cat "$MAILCFG"|grep -P '^mta='|sed -e 's/^mta=//' -e 's/^"//' -e 's/"$//'`
mailfrom=`cat "$MAILCFG"|grep -P '^from='|sed -e 's/^from=//' -e 's/^"//' -e 's/"$//'`
mailto=`cat "$MAILCFG"|grep -P '^to='|sed -e 's/^to=//' -e 's/^"//' -e 's/"$//'`
# $1: oggetto del messaggio; $2: file col corpo del messaggio
function domail {
echo "" | s-nail -q "$2" -s "$1" -S v15-compat -S from="$mailfrom" -S smtp-use-starttls -S mta="$mailmta" "$mailto"
}
# $1: comando; $2: logfile per l'output del comando
function logcmd {
init="$(date)"
echo "$init: eseguo «$1»" >> $LOGF
$1 &> $2
ec=$?
endt="$(date)"
echo -n "$endt: fine esecuzione di «$1»: " >> $LOGF
if [ $ec -eq 0 ]; then
echo "riuscita!" >> $LOGF
#domail "Lesecuzione di «$1» è riuscita! :-)" "Ciao, lesecuzione di «$1», cominciata $init e finita $endt, è riuscita senza prubblemi :-)"
else
echo "ERRORE: $ec" >> $LOGF
tail -n 20 $2 >> $LOGF
tail -n 20 $2 > $MAILF
domail "Lesecuzione di «$1», cominciata $init e finita $endt, NON È RIUSCITA (exit code: $ec) :-(" "$MAILF"
fi
echo "++++++++++++++++++++++" >> $LOGF
}
#logcmd "grep pippo gigi" "grepa.log"
#logcmd "grep pippo bibi" "grepb.log"
#exit
logcmd "php mustool.php updstats" "mustool.updstats.log"
if [ "$2" == "dopeers" ]; then
logcmd "php peerscrawl.php -e peerscrawl.exclude -E" "peerscrawl.log"
logcmd "php crawler.php -T warning -p peers" "crawler.log"
else
logcmd "php crawler.php -T warning" "crawler.log"
fi
logcmd "php mustool.php shuffle clean optimize" "mustool.shuffle-clean-optimize.log"
exit 0