[bglug] Crontab

Pisolonet mi.scrivi@pisolonet.com
Mer 26 Maggio 2004 11:28:58 CEST


On Wednesday 26 May 2004 10:20, Manuel wrote:

> C'e' qualche altra opzione per fare cio' ?

Shellscript che fa quello che deve fare del tipo
----------------------------------
ASH=/bin/bash
HOME=/home/livio
PATH=/usr/lib/courier/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/livio/bin
SHELL=/bin/bash
#
#!/bin/bash
#
#  Richiama fetchmail -V, dirige std out ed err in file del tipo
#                         yyyymmdd_hh24miss.out/err e li zippa
#
elab=`date +%Y%m%d_%H%M%S`
echo -e "\nInizio: $elab"
#
echo -e "\nAttendere fetchmail della posta ... \c"
#
DIROUT=$HOME/.mailfilters/log
#
if [ -d $DIROUT ]; then
        echo >/dev/null
else
        mkdir $DIROUT
        chmod 711 $DIROUT
fi
#
b=`date +%Y%m%d_%H%M%S`
FILEOUT=`echo $DIROUT/$b.out`
FILEERR=`echo $DIROUT/$b.err`
> $FILEOUT
> $FILEERR
chmod 600 $FILEOUT
chmod 600 $FILEERR
#
#
cd $HOME
nprima=`ls -lRa Maildircpy | wc -l`
fetchmail -v 1>$FILEOUT 2>$FILEERR
#
# gzip $FILEOUT
# gzip $FILEERR
#
echo -e "Fatto! "
#
elab=`date +%Y%m%d_%H%M%S`
echo -e "\nArrivo: $elab"
#
ndopo=`ls -lRa Maildircpy | wc -l`
resto=`expr $ndopo - $nprima`
if [ $nprima -eq $ndopo ];
then
        echo -e "\nNessun nuovo messaggio ..."
else
        echo -e "\n$resto nuovi messaggi ..."
fi
echo -e "\n"
-----------------------------------------------
lo chiami per esempio cronfetchmail.sh aggiungi tutte le opzioni che vuoi e lo 
metti in crontab come:

# Minutes H  Days  Mon Days_of_Week   Commands # comments
25           *      *       *     *               /home/livio/cronfetchmail.sh 
1>/dev/null 2>/dev/null

Se vuoi eventualmente o momentaneamente farti mandare il messaggio togli la 
redirezione dello standard output ed error, rispettivamente 1 e 2 a dev null

ciao.


Maggiori informazioni sulla lista bglug