[LugBS] Ubuntu e crontab
Claudio Moretti
flyingstar16 a gmail.com
Mer 11 Dic 2013 22:52:33 UTC
Se il tuo computer è in locked screen, il server X c'è per forza; l'unico
caso che mi viene in mente per il quale non potrebbe funzionare è se per
qualche motivo X crasha..
Se vuoi un consiglio, senza star li a diventare matto facendo check sul
server X, fai loggare lo script in un file da qualche parte, e se hai paura
che il file di log diventi troppo grande basta che usi logrotate per far
ruotare i log (a seconda di quanta roba va nel log, tieni soltanto che so,
un mese di log? Una settimana? Quello scegli tu.)
La configurazione di logrotate è (se non sbaglio) in /etc/logrotate.d/ e ci
sono una serie di file "di sistema" li dentro. Fai una copia, chiamala come
vuoi (e.g. script-diego.conf) e modifica il file per farlo ruotare a
piacere. La sintassi è semplicissima, quindi non dovresti avere problemi :)
In man logrotate c'è questo
/var/log/messages {
rotate 5
weekly
postrotate
/usr/bin/killall -HUP syslogd
endscript
}
A te tutto quello che serve è qualcosa tipo
/path_del_log/nome_del_file {
rotate 5 # Tiene 5 file
weekly # Ruotandoli una volta a settimana
}
ecc. ecc.
2013/12/11 Diego Monselice <info a diegomonselice.it>
> Be' ma... così a occhio direi che non dovrebbe mai accadere, considerando
> che alle ore 20 il mio PC è acceso anche se con Unity in "locked screen".
> Sbaglio?
>
>
>
> Il 11/12/2013 21:51, Maurizio Paolini ha scritto:
>
> On Wed, Dec 11, 2013 at 09:18:04PM +0100, Diego Monselice wrote:
>>
>>> grande prof! Effettivamente non funziona se prima lancio il comando
>>> export DISPLAY="" e da per l'appunto segmentation fault...
>>>
>>> Grazie alla sua dritta ho risolto in maniera molto easy... nello
>>> script BASH che lancia il python ho inserito export DISPLAY=":1" e
>>> ora magicamente funziona!!!
>>>
>> Attento pero': potrebbe non funzionare piu' se non trova un server X
>> utilizzabile. Dovresti fare una prova in cui chiudi proprio il server
>> X (tipo "telinit 2" o "telinit 3" ora non so su ubuntu)
>>
>> mp
>>
>>
>>>
>>> Il 11/12/2013 20:47, Maurizio Paolini ha scritto:
>>>
>>>> Per capire se e' colpa della grafica X (facile che sia quello il
>>>> problema)
>>>> puoi eliminare la variabile DISPLAY ed eseguire a mano il comando:
>>>>
>>>> $ export DISPLAY=""
>>>> $ <comando>
>>>>
>>>> Se cosi' da lo stesso errore, almeno hai modo di sperimentare senza
>>>> impazzire con il cron.
>>>>
>>>> Se non c'e' modo di disabilitare la grafica X la soluzione diventa
>>>> complessa (attivare un server X finto, ad esempio)
>>>>
>>>> mp
>>>>
>>>> On Wed, Dec 11, 2013 at 08:11:35PM +0100, Diego Monselice wrote:
>>>>
>>>>> Ehm... nella mia prima mail che qui sotto non compare, spiegavo
>>>>> appunto che lo script dopo aver fatto dei controlli, mostra a video
>>>>> una finestra di dialogo (librerie gtk). Una sorta di alert.
>>>>>
>>>>> Credo sia proprio quello il problema. Eventualmente, soluzioni?
>>>>>
>>>>>
>>>>> Il 11/12/2013 20:07, Claudio Moretti ha scritto:
>>>>>
>>>>>> Domanda scema: lo script che stai cercando di eseguire usa qualche
>>>>>> feature grafica?
>>>>>>
>>>>>>
>>>>>> 2013/12/11 Diego Monselice <info a diegomonselice.it
>>>>>> <mailto:info a diegomonselice.it>>
>>>>>>
>>>>>> Aggiornamento:
>>>>>>
>>>>>> ho riprovato e l'errore ora ha un Title differente:
>>>>>> python2.7 crashed with SIGFPE in g_cclosure_marshal_VOID__
>>>>>> BOXEDv()
>>>>>>
>>>>>> Non ci sto capendo nulla...
>>>>>>
>>>>>> help...
>>>>>>
>>>>>>
>>>>>> Il 11/12/2013 18:11, Diego Monselice ha scritto:
>>>>>>
>>>>>> Ho provato ad impostarlo a 2 minuti, ho provato a sostituire
>>>>>> Python ecc... con il percorso ad uno script bash che fa
>>>>>> partire lo script python e non ha fatto nulla. Il tutto
>>>>>> funziona se lanciato manualmente. Risultato di ciò che ho
>>>>>> fatto, un bel messaggino di crash (<Ubuntu 13.04> ha
>>>>>> riscontrato un errore interno) il cui Title ha come valore
>>>>>> "python2.7 crashed with SIGSEGV in
>>>>>> gdk_window_enable_synchronized_configure()". Tra le varie
>>>>>> info
>>>>>> che vedo, sotto a SegvAnalysis leggo:
>>>>>>
>>>>>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>>>>> Segfault happened at: 0x7f7df1848d0e
>>>>>> <gdk_window_enable_synchronized_configure+14>: mov
>>>>>> 0x18(%rdi),%rbx
>>>>>> PC (0x7f7df1848d0e) ok
>>>>>> source "0x18(%rdi)" (0x00000018) not located in a known VMA
>>>>>> region (needed readable region)!
>>>>>> destination "%rbx" ok
>>>>>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>>>>>
>>>>>> E se provassi ad usare le PyQt al posto di GTK? Secondo voi
>>>>>> può essere quello la causa?
>>>>>>
>>>>>>
>>>>>> Il 11/12/2013 16:36, Marco Manenti ha scritto:
>>>>>>
>>>>>> Ciao, un paio di cose.. per provare non puoi farlo prima
>>>>>> delle 20? tipo impostare l'orario per i 5 minuti
>>>>>> successivi?
>>>>>> L'utente che ha creato il cron è lo stesso che ha fatto il
>>>>>> login?
>>>>>> prova a dare il percorso completo di python (
>>>>>> /usr/bin/python )
>>>>>>
>>>>>> ciao
>>>>>>
>>>>>>
>>>>>>
>>>>>> Il giorno 11 dicembre 2013 13:56, Diego Monselice
>>>>>> <info a diegomonselice.it <mailto:info a diegomonselice.it>
>>>>>> <mailto:info a diegomonselice.it
>>>>>> <mailto:info a diegomonselice.it>>> ha scritto:
>>>>>>
>>>>>> Ciao caro, ho controllato in /var/log/syslog e non ho
>>>>>> trovato
>>>>>> record alle ore 20, per cui suppongo che o si siano
>>>>>> già eliminati
>>>>>> tali eventi (e mi pare la possibilità più plausibile
>>>>>> considerando
>>>>>> che i primi log sono di stamattina), oppure non è
>>>>>> stato proprio
>>>>>> lanciato
>>>>>>
>>>>>> Ho provato ora a inserire MAIL= ecc... in crontab.
>>>>>>
>>>>>> Per quanto riguarda la tua ipotesi relativa allo
>>>>>> sganciamento dal
>>>>>> terminale direi che non credo sia quello, considerando
>>>>>> che lo
>>>>>> script viene correttamente eseguito anche lanciandolo
>>>>>> da GUI con
>>>>>> un doppio click.
>>>>>>
>>>>>> Ora attendo la mail di stasera h 20:00 :-D
>>>>>>
>>>>>> Grazie per ora
>>>>>>
>>>>>>
>>>>>>
>>>>>> Il 11/12/2013 09:24, Andrea Gelmini ha scritto:
>>>>>>
>>>>>> Il 10 dicembre 2013 23:40, Diego Monselice
>>>>>> <info a diegomonselice.it
>>>>>> <mailto:info a diegomonselice.it>
>>>>>> <mailto:info a diegomonselice.it
>>>>>> <mailto:info a diegomonselice.it>>> ha
>>>>>> scritto:
>>>>>>
>>>>>> 0 20 * * * python /home/diego/script.py
>>>>>>
>>>>>> Un paio di idee:
>>>>>> a) controlla in /var/log/syslog cosa ti dice cron
>>>>>> quando cerca di
>>>>>> eseguire il comando;
>>>>>> b) se setti nel crontab il campo
>>>>>> MAILTO=gino a example.com <mailto:gino a example.com>
>>>>>> <mailto:gino a example.com
>>>>>> <mailto:gino a example.com>> con la tua
>>>>>> email, l'eventuale output dell'esecuzione ti
>>>>>> arriva via email.
>>>>>>
>>>>>> Partirei da qui.
>>>>>> A seconda di cosa fai nello script, potrebbe
>>>>>> essere che
>>>>>> sganciato da
>>>>>> un terminale non funzioni.
>>>>>> E' da indagare.
>>>>>> Alla cieca ti direi che una via per risolvere è di
>>>>>> appoggiarsi al
>>>>>> classico sistema ti notifiche supportato dai vari
>>>>>> window manager.
>>>>>>
>>>>>> Ciao,
>>>>>> Gelma
>>>>>>
>>>>>>
>>>>>> -- Info/Lamentele/Segnalazioni:
>>>>>> andrea.gelmini a gmail.com <mailto:andrea.gelmini a gmail.com
>>>>>> >
>>>>>> <mailto:andrea.gelmini a gmail.com
>>>>>> <mailto:andrea.gelmini a gmail.com>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> -- Info/Lamentele/Segnalazioni: andrea.gelmini a gmail.com
>>>>>> <mailto:andrea.gelmini a gmail.com>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>> Info/Lamentele/Segnalazioni: andrea.gelmini a gmail.com
>>>>>
>>>> --
>>> Info/Lamentele/Segnalazioni: andrea.gelmini a gmail.com
>>>
>>
> --
> Info/Lamentele/Segnalazioni: andrea.gelmini a gmail.com
>
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lugbs.linux.it/pipermail/lug/attachments/20131211/033e3cef/attachment-0001.html>
Maggiori informazioni sulla lista
Lug
|