[Server] Script da cron invisibili - come visualizzarne l'esecuzione

Installazione, configurazione e uso di programmi e strumenti.
Scrivi risposta
HarryPlotter
Prode Principiante
Messaggi: 41
Iscrizione: domenica 30 gennaio 2011, 11:33

[Server] Script da cron invisibili - come visualizzarne l'esecuzione

Messaggio da HarryPlotter »

Ciao a tutti

ho impostato una crontab per il super utente root che lancia degli script con il comando sh -x per eseguire dei backup con rsynk

Vorrei fare in modo che quando gli script entrano in esecuzione io me ne possa accorgere e seguire l'esecuzione,
Come posso fare ?

Grazie a tutti...
Avatar utente
ReMichael
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4042
Iscrizione: venerdì 30 novembre 2007, 22:02

Re: [Server] Script da cron invisibili - come visualizzarne l'esecuzione

Messaggio da ReMichael »

Puoi fare in modo che gli script che vengono eseguiti mandino in output il risultato su un file di log, tipo:

Codice: Seleziona tutto

rsync .... >> /var/log/backup/mio_backup.log
e tu puoi seguire quello che sta succedendo con tail:

Codice: Seleziona tutto

tail -f /var/log/backup/mio_backup.log
HarryPlotter
Prode Principiante
Messaggi: 41
Iscrizione: domenica 30 gennaio 2011, 11:33

Re: [Server] Script da cron invisibili - come visualizzarne l'esecuzione

Messaggio da HarryPlotter »

... esatto al file di log ci avevo pensato... e sarebbe già un'ottima soluzione...  ;)

ma se sto scrivendo sul forum di ubuntu.. e volessi essere avvisato che lo script è in esecuzione ... chi mi può avvisare ? posso far partire una finestra del terminale da script, con la relativa prosecuzione del comando ?
Avatar utente
ReMichael
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4042
Iscrizione: venerdì 30 novembre 2007, 22:02

Re: [Server] Script da cron invisibili - come visualizzarne l'esecuzione

Messaggio da ReMichael »

ToPinux ha scritto: ... esatto al file di log ci avevo pensato... e sarebbe già un'ottima soluzione...  ;)

ma se sto scrivendo sul forum di ubuntu.. e volessi essere avvisato che lo script è in esecuzione ... chi mi può avvisare ? posso far partire una finestra del terminale da script, con la relativa prosecuzione del comando ?
sì, all'avvio dello script puoi anche far partire il terminale già in tail. ad esempio per gnome:

Codice: Seleziona tutto

gnome-terminal -e "tail -f /var/log/backup/mio_backup.log"
gz
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 535
Iscrizione: sabato 9 dicembre 2006, 19:24
Località: Montecatini Terme

Re: [Server] Script da cron invisibili - come visualizzarne l'esecuzione

Messaggio da gz »

ciao
premetto di essere niubbo assai, comunque...

non so se è il tuo caso ma prova a dare un'occhiata qui
http://forum.ubuntu-it.org/viewtopic.ph ... 2#p3349122

eventualmente ricava il DISPLAY giusto da echo $DISPLAY (credo?)
Pancia piena non crede a digiuno
Attenzione! Scoppiettante Seguace niubbo.
HarryPlotter
Prode Principiante
Messaggi: 41
Iscrizione: domenica 30 gennaio 2011, 11:33

Re: [Server] Script da cron invisibili - come visualizzarne l'esecuzione

Messaggio da HarryPlotter »

Grazie gz e reMichael...

sono anche io abbastanza niubbo, soprattutto in linux, purtroppo, e ho un po di confusione...

comunque ho verificato il valore della variabile $DISPLAY ed è 0.0

proverò per il momento con la soluzione di reMichael ... però...

per chiarirmi meglio le idee sull'esecuzione di cron :

la crontab di root viene eseguita quando è loggato un altro utente ? o esiste una crontab di sistema?
oppure
se dovessi eseguire uno script da cron, con comandi che richiedono privilegi (tipo mount), tramite la crontab di un utente normale.... come si può fare ?
potrei scrivere dei comandi sudo mount ecc.. ecc..  ma poi la password ?? ???
scusate l'ignoranza in materia...ma ho trovato questa guida e chiedo vostra conferma....
File «/etc/crontab» (Sistema)‏ Il file /etc/crontab differisce dal crontab dell' utente in quanto definisce anche utente in nome del quale deve essere eseguito il comando indicato successivamente. E.s. Crontab (utente)‏ */5 * 15 * * “comando” Esegue ogni cinque minuti del giorno 15 Crontab Sistema (etc/crontab)‏ */5 * 15 * * utente “comando” Esegue ogni cinque minuti del giorno 15 con i privilegi di “utente”
ESEMPIO
Crontab Sistema (etc/crontab)‏ */5 * 15 * * utente “comando”
quindi

Codice: Seleziona tutto

‏ */5 * 15 * * root “sh -x /home/utentepippo/scriptbash.sh >> /home/utentepippo/scriptbash.log” 
in questo modo farei un crontab di sistema secondo il logging di reMichael ?
A parte le ore ma il 5/* che significa ? non dovrebbe essere */5 per significare ogni 5.... ?
Ultima modifica di Anonymous il giovedì 24 febbraio 2011, 14:43, modificato 1 volta in totale.
Avatar utente
ReMichael
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4042
Iscrizione: venerdì 30 novembre 2007, 22:02

Re: [Server] Script da cron invisibili - come visualizzarne l'esecuzione

Messaggio da ReMichael »

HarryPlotter ha scritto: Grazie gz e reMichael...

sono anche io abbastanza niubbo, soprattutto in linux, purtroppo, e ho un po di confusione...

comunque ho verificato il valore della variabile $DISPLAY ed è 0.0

proverò per il momento con la soluzione di reMichael ... però...
quello che ti ha scritto gz va ad integrarsi con la soluzione che ti ho suggerito io.. nel senso, il comando che ti apre il tail tramite gnome-terminal prevede l'avvio di un'applicazione grafica, quindi è importante settare nel cron un export del display
per chiarirmi meglio le idee sull'esecuzione di cron :

la crontab di root viene eseguita quando è loggato un altro utente ? o esiste una crontab di sistema?
il crontab di root viene eseguito anche quando sei loggato con il tuo utente.
esiste anche un crontab di sistema, la cui differenza è quella che prima di ogni comando devi specificare l'utente che lo deve eseguire
oppure
se dovessi eseguire uno script da cron, con comandi che richiedono privilegi (tipo mount), tramite la crontab di un utente normale.... come si può fare ?
potrei scrivere dei comandi sudo mount ecc.. ecc..  ma poi la password ?? ???
scusate l'ignoranza in materia...ma ho trovato questa guida e chiedo vostra conferma....
se devi eseguire un comando che richiede privilegi di amministrazione meglio utilizzare /etc/crontab e mettere root come utente
quindi

Codice: Seleziona tutto

‏ */5 * 15 * * root “sh -x /home/utentepippo/scriptbash.sh >> /home/utentepippo/scriptbash.log” 
in questo modo farei un crontab di sistema secondo il logging di reMichael ?
non credo servano le virgolette. se non esegue nulla che richiede privilegi di amministrazione puoi indicare tranquillamente il tuo utente
A parte le ore ma il 5/* che significa ? non dovrebbe essere */5 per significare ogni 5.... ?
guarda il man  :)
gz
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 535
Iscrizione: sabato 9 dicembre 2006, 19:24
Località: Montecatini Terme

Re: [Server] Script da cron invisibili - come visualizzarne l'esecuzione

Messaggio da gz »

ciao di nuovo

il wiki è tuo amico

http://wiki.ubuntu-it.org/Amministrazio ... =CronHowTo

lì ci sono esempi che fanno al caso tuo
Pancia piena non crede a digiuno
Attenzione! Scoppiettante Seguace niubbo.
HarryPlotter
Prode Principiante
Messaggi: 41
Iscrizione: domenica 30 gennaio 2011, 11:33

Re: [Server] Script da cron invisibili - come visualizzarne l'esecuzione

Messaggio da HarryPlotter »

Grazie gz !

avevo già consultato. Si scrive */5 e non 5/*.. forse l'altra guida fa riferimento ad un altro linguaggio  :P

Trovo molto utile questa

Codice: Seleziona tutto

echo "Backup riuscito: $(date)" >> /tmp/mybackup.log
da inserire nello script del backup... per il log.

ho usato zenity per visualizzare il messaggio, sempre inserito nello script del backup

Codice: Seleziona tutto

/usr/bin/zenity --info --text "messaggio di prova"
e inserisco questa ora..

Codice: Seleziona tutto

 zenity --info --text "Lancio del Backup del $(date) ."
gz
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 535
Iscrizione: sabato 9 dicembre 2006, 19:24
Località: Montecatini Terme

Re: [Server] Script da cron invisibili - come visualizzarne l'esecuzione

Messaggio da gz »

vero, non lo avevo notato ;D
Pancia piena non crede a digiuno
Attenzione! Scoppiettante Seguace niubbo.
Scrivi risposta

Ritorna a “Applicazioni”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 12 ospiti