Pagina 1 di 1

[Bash] un paio di script per chi non gli funziona cron

Inviato: domenica 28 settembre 2008, 21:13
da Linuxand
Ciao gente.
Dato che a me cron non ne voleva sapere di funzionare ho provato a costruirmi un piccolo script che mi potesse aiutare. Funziona bene, ma ci vuole una combinazione di due script (più quello che volete eseguire).

Partiamo dal primo: è un AlarmClock realizzato attraverso il comando sleep; il giorno di esecuzione e l'orario sono inseriti all'interno dello script. E' ovviamente migliorabile.

Codice: Seleziona tutto

#!/bin/bash
#
#
# GPL
#
logger In esecuzione...
# 1=Lunedì
# 2=Martedì
# 3=Mercoledì
# 4=Giovedì
# 5=Venerdì
# 6=Sabato
# 7=Domenica
if [ `date +%u` -ne "7" ]; then
	logger fine!
	exit 0
fi

alarm_hour="19"
alarm_min="00"
alarm_min=`expr $alarm_min "*" 60`
time_hour=`date +%H`
time_min=`date +%M`
time_min=`expr $time_min "*" 60`
#trap `exit 1` INT - questo non ho capito a che serva.
if [[ $alarm_hour -ge $time_hour || ($alarm_hour -eq $time_our && $alarm_min -ge $time_min) ]]; then
       y=`expr $((alarm_hour-time_hour)) "*" 3600`
       sleepfor=`expr $y + $alarm_min - $time_min`
	logger Dormo per $sleepfor
	sleep $sleepfor
fi
logger Partenza!
# QUI VA LA CHIAMATA AL VOSTRO SCRIPT
exit 0
I comandi logger sono molto utili per il debug (scrivono sul syslog e su user.log)

Eseguire l'AlarmClock ha il difetto che blocca qualsiasi esecuzione successiva; eseguirlo in background è la soluzione ottimale, ma bisogna considerare il funzionamento dei processi in Linux: alla morte del padre, terminano tutti i figli. Quindi dobbiamo trovare il modo di sgangiare il processo dal padre. Qui ci viene in aiuto il comando nohup che permette proprio questo. E' dunque necessario un altro script (io l'ho chiamato bckp)

Codice: Seleziona tutto

#!/bin/bash

nohup /bin/bash ~/AlarmClock &
exit 0
Mettete questo script all'avvio (io l'ho messo nelle sessioni di Gnome) ed avrete il vostro programmino che aspetta l'orario giusto per partire :)

Spero di aver fatto cosa utile ai più.

Ciao :)
(z)

Re: [Bash] un paio di script per chi non gli funziona cron

Inviato: lunedì 29 settembre 2008, 11:55
da sverdrup
Ottimo, molto bravo,
ma perchè non ti funziona cron??
qual'è il problema??
Ciauzzzzz

Re: [Bash] un paio di script per chi non gli funziona cron

Inviato: lunedì 29 settembre 2008, 13:50
da Linuxand
sverdrup ha scritto: ma perchè non ti funziona cron??
qual'è il problema??
Ciauzzzzz
Saperlo. Semplicemente se gli dico di eseguire qualcosa il giorno di domenica alle 19:00, lui semplicemente non lo fa (avevo anche aperto un tema sull'argomento). Visto che non si era riuscito a risolvere, ho trovato una via traversa ^_^

Ciao :)
(z)