Pagina 1 di 1

Esecuzione giornaliera di uno script

Inviato: lunedì 23 aprile 2012, 20:37
da fla.odo
Buongiorno a tutti, ho realizzato un semplice script per eseguire un backup con grsync:

Codice: Seleziona tutto

#!/bin/bash

echo "Sincronizzazione avviata il: "`date` >> "/home/flavio/Ubuntu One/rsync_log"

gvfs-mount smb://admin@giganas/public

sleep 5

rsync -r -t -v --delete -i -s "/media/Dati/" "/home/flavio/.gvfs/public su giganas" >> "/home/flavio/Ubuntu One/rsync_log"

gvfs-mount -u smb://admin@giganas/public

echo "Sincronizzazione conclusa il: "`date` >> "/home/flavio/Ubuntu One/rsync_log"

exit
Questo script se eseguito da terminale funziona perfettamente, ma se inserito all'interno di "cron daily" viene eseguito ma non avviene nessuna azione da parte del programma grsync, viene solamente aggiornato il file "rsync_log"
Come posso risolvere?
grazie a tutti!

Re: Esecuzione giornaliera di uno script

Inviato: martedì 24 aprile 2012, 12:25
da f4bry90
Non vorrei dirti una cavolata ma quando provai a far partire uno script all'avvio che aprisse gedit o un qualche programma con interfaccia grafica, non riuscivo. Per il semplice motivo che l'interfaccia grafica necessità x-org che parte più tardi dell'avvio del kernel al contrario dello script che partiva appena successivamente.

Il tuo caso non è uguale ma non so se il montaggio delle device può venire eseguito solo dopo che il sistema è stato caricato. Prova solo a montare la device e vedi se quando il sistema ha finito l'avvio rimane montata.

Re: Esecuzione giornaliera di uno script

Inviato: martedì 24 aprile 2012, 12:36
da fla.odo
Il pc che deve eseguire questo script è acceso H24 quindi quando dovrebbe venire eseguito il sistema è già pronto. Purtroppo però non avviene nulla.
Lo script lanciato da terminale però funziona perfettamente...

Re: Esecuzione giornaliera di uno script

Inviato: martedì 24 aprile 2012, 12:46
da filo1234
prova a mettere il path completo degli eseguibili esempio /usr/bin/rsync /usr/bin/mount ecc.. ...... e nel cron reindirizzare l'output dello script in 2>&1 > /dev/null
posta anche la riga che hai inserito nel cron

Re: Esecuzione giornaliera di uno script

Inviato: martedì 24 aprile 2012, 12:53
da f4bry90
Ah ottio scusa avevo capito allo startup. Mmmmm.. Allora mi spiace ma non so aiutarti, cron ancora lo conosco. Scusa per le risposte nulle 8)

Re: Esecuzione giornaliera di uno script

Inviato: martedì 24 aprile 2012, 14:11
da fla.odo
Allora... ho messo le path complete ma non è cambiato nulla, quindi ora lo script è questo:

Codice: Seleziona tutto

#!/bin/sh

echo "Sincronizzazione avviata il: "`date` >> "/home/flavio/Ubuntu One/rsync_log"

/usr/bin/gvfs-mount smb://admin@giganas/public

sleep 5

/usr/bin/rsync -r -t -v --delete -i -s "/media/Dati/" "/home/flavio/.gvfs/public su giganas" >> "/home/flavio/Ubuntu One/rsync_log"


/usr/bin/gvfs-mount -u smb://admin@giganas/public

echo "Sincronizzazione conclusa il: "`date` >> "/home/flavio/Ubuntu One/rsync_log"

exit
questo script, chiamato "rsyncmirror" è stato semplicemente posizionato all'interno della cartella /etc/cron.daily
che dovrebbe essere sufficiente a farlo eseguire una volta al giorno.

nel crontab non ho inserito nulla, è il seguente:

Codice: Seleziona tutto

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user	command
17 *	* * *	root    cd / && run-parts --report /etc/cron.hourly
25 6	* * *	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6	* * 7	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6	1 * *	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#


Re: Esecuzione giornaliera di uno script

Inviato: martedì 24 aprile 2012, 15:01
da filo1234
sinceramente non ho mai usato cron.daily o altro, uso sempre il crontab utente o root