Pagina 1 di 1
[RISOLTO] crontab non esegue comando all'avvio
Inviato: gio 16 mag 2024, 19:18
da Xunyl
Buonasera a tutti,
domanda super banale ma non riesco a capire perché crontab non esegua al boot il seguente semplice comando (non root):
Su una macchina funziona, sull'altra no. Stessa configurazione, connessione internet attiva. Ho pensato che forse venisse eseguito troppo presto in fase di avvio, ma anche aggiungendo al comando "sleep 10 o 15", non cambia nulla.
Grazie per ogni eventuale risposta.
Re: crontab non esegue comando all'avvio
Inviato: ven 17 mag 2024, 7:10
da ponce
puo' darsi che non lo faccia perche' il comando non e' specificato col path completo?
comunque, se e' un comando da eseguire alla fine del boot, potresti anche metterlo dentro /etc/rc.d/rc.local
Re: crontab non esegue comando all'avvio
Inviato: ven 17 mag 2024, 13:42
da Xunyl
Ho provato anche con il path completo ma nulla, non viene eseguito. Sull’altra macchina, invece, nessun problema, anche senza path completo. Una cosa che non ho ancora provato è mettere il comando in uno script e avviare direttamente il file sh, appena sono a casa provo e vi aggiorno. Strano però.
ponce ha scritto: ↑ven 17 mag 2024, 7:10
comunque, se e' un comando da eseguire alla fine del boot, potresti anche metterlo dentro /etc/rc.d/rc.local
Eh da lì funziona sicuramente ma vorrei avviarlo come utente e possibilmente prima del login. Smanetto un po’ e vi faccio sapere se risolvo e come.
Grazie!
Re: crontab non esegue comando all'avvio
Inviato: ven 17 mag 2024, 15:06
da ponce
Forse i due utenti sui due sistemi hanno permessi diversi (magari perché sono in gruppi diversi?)...
Re: crontab non esegue comando all'avvio
Inviato: ven 17 mag 2024, 16:48
da joe
Siamo davvero sicuri che non venga eseguito?
Se fosse eseguito ma ritornasse un qualche errore e se ne uscisse? Lo vedresti da qualche parte? in qualche log tipo?
Potresti provare avviando un programma che sei sicuro che funzioni tipo "date > /tmp/pippodata.log" per escludere che su quel sistema non ci siano problemi con cron. E in seconda battuta potresti cercare di capire come farti stampare un log del comando "nordvpn", così da controllare cosa stia succedendo davvero dietro le quinte.
Re: crontab non esegue comando all'avvio
Inviato: ven 17 mag 2024, 17:12
da ponce
l'output di quello che esegui con il crontab di ${utente} dovrebbe andare a finire in /var/spool/mail/${utente}
Re: [RISOLTO] crontab non esegue comando all'avvio
Inviato: ven 17 mag 2024, 18:16
da Xunyl
ho messo il comando in uno script bash e... boom, funziona. Ho provato, prima di fare ciò, a verificare che cron funzionasse, seguendo il consiglio di joe ed effettivamente cron faceva il suo lavoro senza problemi. Ho controllato anche /var/spool/mail/${mioutente} e non c'era assolutamente nulla.
Evidentemente, per qualche strano motivo a me ignoto, non gli piaceva il comando diretto, mentre avvia il file sh senza alcun problema. Mi piacerebbe capire perché ma buono a sapersi, comunque, per il futuro.
Grazie a tutti per il supporto, problema risolto!
Re: [RISOLTO] crontab non esegue comando all'avvio
Inviato: ven 17 mag 2024, 20:30
da joe
La butto lì...
può essere che mentre facendo lanciare il comando direttamente a cron potrebbero esservi variabili d'ambiente non definite, quando invochi bash nello script o simili, automaticamente mette in piedi tutto l'ambiente definito. Bisognerebbe capire cosa faccia "nordvpn", potrebbe trattarsi non di un eseguibile, ma a sua volta di uno script, un wrpper che lanci altri eseguibili e fa qualche controllo... se queste operazioni prevedono la definizione in essere di variabili d'ambiente dell'utente, potrebbe non funzionare come ci si aspetta se appunto l'ambiente non è impostato.
Se tu lanci "env" in un terminale vedrai quanta roba salta fuori.
Sinceramente non so come cron lanci i comandi, ma se vedi qualche guida è consigliato sempre di inserire il percorso assoluto degli eseguibili. È già un indice che in caso contrario possa aver problemi a trovare il percorso dell'eseguibile, magari per via della definizione della variabile d'ambiente PATH.
Re: [RISOLTO] crontab non esegue comando all'avvio
Inviato: ven 17 mag 2024, 23:08
da Xunyl
Il fatto che su una macchina funzionasse e sull'altra no, potrebbe già essere indice che ciò che dici ha molto senso. Qualche differenza nella configurazione delle due ha sicuramente interferito col funzionamento di cron, complice anche il fatto di averlo messo alla prova in maniera poco elegante. Il fatto che qualcosa "funzioni" molte volte non significa necessariamente che sia fatta nel modo più corretto.
Probabilmente cron è uno strumento sicuramente molto potente ma anche molto semplice e necessita di istruzioni chiare e pulite.