Esecuzione giornaliera di uno script

Linguaggi di programmazione: php, perl, python, C, bash, ecc.

Esecuzione giornaliera di uno script

Messaggioda fla.odo » lunedì 23 aprile 2012, 20:37

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!
fla.odo Non specificato
Prode Principiante
 
Messaggi: 25
Iscrizione: giugno 2008
Località: Pordenone
Distribuzione: Ubuntu 12.04 x86_64
Desktop: ubuntu

Re: Esecuzione giornaliera di uno script

Messaggioda f4bry90 » martedì 24 aprile 2012, 12:25

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.
f4bry90 Non specificato
Prode Principiante
 
Messaggi: 183
Iscrizione: gennaio 2010
Località: Pescara
Distribuzione: Ubuntu 12.10 LTS 32bit i686
Desktop: gnome-shell

Re: Esecuzione giornaliera di uno script

Messaggioda fla.odo » martedì 24 aprile 2012, 12:36

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...
fla.odo Non specificato
Prode Principiante
 
Messaggi: 25
Iscrizione: giugno 2008
Località: Pordenone
Distribuzione: Ubuntu 12.04 x86_64
Desktop: ubuntu

Re: Esecuzione giornaliera di uno script

Messaggioda filo1234 » martedì 24 aprile 2012, 12:46

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
Avatar utente
filo1234 Non specificato
Rampante Reduce
Rampante Reduce
 
Messaggi: 6172
Iscrizione: febbraio 2007
Località: Cagliari

Re: Esecuzione giornaliera di uno script

Messaggioda f4bry90 » martedì 24 aprile 2012, 12:53

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)
f4bry90 Non specificato
Prode Principiante
 
Messaggi: 183
Iscrizione: gennaio 2010
Località: Pescara
Distribuzione: Ubuntu 12.10 LTS 32bit i686
Desktop: gnome-shell

Re: Esecuzione giornaliera di uno script

Messaggioda fla.odo » martedì 24 aprile 2012, 14:11

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 )
#

fla.odo Non specificato
Prode Principiante
 
Messaggi: 25
Iscrizione: giugno 2008
Località: Pordenone
Distribuzione: Ubuntu 12.04 x86_64
Desktop: ubuntu

Re: Esecuzione giornaliera di uno script

Messaggioda filo1234 » martedì 24 aprile 2012, 15:01

sinceramente non ho mai usato cron.daily o altro, uso sempre il crontab utente o root
Avatar utente
filo1234 Non specificato
Rampante Reduce
Rampante Reduce
 
Messaggi: 6172
Iscrizione: febbraio 2007
Località: Cagliari


Torna a Programmazione

Chi c’è in linea

Visualizzano questa sezione: antonx, Majestic-12 [Bot] e 4 ospiti