Pagina 1 di 1
[Risolto] Crontab non parte
Inviato: lunedì 25 gennaio 2021, 9:44
da korda
Ho fatto un paio di script, e ho verificato che funzionino (devono funzionare come superuser).
Ho aggiunto per l'utente root i seguenti task, usando
crontab -e, ma oggi (lunedi') non e' partito nulla. Cosa ho dimenticato?
Codice: Seleziona tutto
# Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').
#
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h dom mon dow command
0 2 * * 1 /root/SCRIPT/DiskCheck.sh
0 2 * * 2 /root/SCRIPT/AutoUpgrade.sh
Re: Crontab non parte
Inviato: lunedì 25 gennaio 2021, 10:40
da rai
Se il crontab lo hai editato con sudo crontab -e dovrebbe funzionare, a meno che alle 2 del mattino il computer fosse spento. I comandi presenti nei crontab utente (root incluso) non vengono presi in carico da anacron per cui se all'orario previsto il pc non è attivo vengono ignorati silenziosamente
Re: Crontab non parte
Inviato: lunedì 25 gennaio 2021, 10:47
da korda
rai ha scritto: ↑lunedì 25 gennaio 2021, 10:40
Se il crontab lo hai editato con
sudo crontab -e dovrebbe funzionare, a meno che alle 2 del mattino il computer fosse spento. I comandi presenti nei crontab utente (root incluso) non vengono presi in carico da anacron per cui se all'orario previsto il pc non è attivo vengono ignorati silenziosamente
@rai Ho ignorato completamente
sudo, ho fatto tutto direttamente dall'account di root (accedendo con
sudo su -). La macchina e' online e attiva H24/7
Re: Crontab non parte
Inviato: lunedì 25 gennaio 2021, 11:15
da thece
@korda
ti suggerisco un test per arrivare da te alla soluzione del problema (e non penso sia che crontab abbia smesso di funzionare

).
Nel crontab di root schedula così
questo script (
/DOVEVUOITU/testScript.sh)
Codice: Seleziona tutto
#/bin/bash
echo "$PATH" > /tmp/testScripts.$(date +\%Y.\%m.\%d.\%H.\%M.\%S).log
exit 0
Re: Crontab non parte
Inviato: lunedì 25 gennaio 2021, 11:31
da korda
@thece stasera provero' e vi aggiorno
Re: Crontab non parte
Inviato: lunedì 25 gennaio 2021, 11:34
da Clover
Manca anche il binario del programma che deve eseguire lo script, che se non ricordo male in cron è obbligatorio specificarlo.
sh...
Codice: Seleziona tutto
0 2 * * 1 sh /root/SCRIPT/DiskCheck.sh
0 2 * * 2 sh /root/SCRIPT/AutoUpgrade.sh
oppure bash...
Codice: Seleziona tutto
0 2 * * 1 /bin/bash /root/SCRIPT/DiskCheck.sh
0 2 * * 2 /bin/bash /root/SCRIPT/AutoUpgrade.sh
Re: Crontab non parte
Inviato: lunedì 25 gennaio 2021, 11:57
da korda
@Clover non e' necessario gli script sono messi come eseguibili e hanno l'intestazione #/bin/bash
@thece il test funziona, magari crontab si e' dimenticato un task... ci aggiorniamo a domani, cosi' verifico.
Re: Crontab non parte
Inviato: lunedì 25 gennaio 2021, 12:00
da thece
korda ha scritto: ↑lunedì 25 gennaio 2021, 11:57
@thece il test funziona, magari crontab si e' dimenticato un task... ci aggiorniamo a domani, cosi' verifico.
O magari tu ti sei dimenticato di impostare qualcosa, tipo la variabile d'ambiente PATH.
Non hai capito il mio test ...
Re: Crontab non parte
Inviato: lunedì 25 gennaio 2021, 12:19
da rai
thece ha scritto: ↑lunedì 25 gennaio 2021, 12:00
korda ha scritto: ↑lunedì 25 gennaio 2021, 11:57
@thece il test funziona, magari crontab si e' dimenticato un task... ci aggiorniamo a domani, cosi' verifico.
O magari tu ti sei dimenticato di impostare qualcosa, tipo la variabile d'ambiente PATH.
oppure, invece di estendere i path riconosciuti da cron, bisogna mettere nello script il percorso assoluto per ogni eseguibile che viene chiamato
Re: Crontab non parte
Inviato: lunedì 25 gennaio 2021, 13:12
da korda
Non ho pattato i percorsi, perche' li uso gia' estesi. Questo e' lo script che non e' partito, dovrebbe fare un check SMART sul disco e mandarmi una mail di logs. Dov'e' l'errore che non riesco a vedere?
Codice: Seleziona tutto
#!/bin/bash
LOGFILE="/root/SCRIPT/DiskCheck.log" # file di log
echo "Subject: DiskChek from ANANAS" > $LOGFILE
date >> $LOGFILE
# see also https://www.smartmontools.org/
# get hard drive's info
smartctl -i /dev/sda >> $LOGFILE
# run short test
smartctl -t short -C /dev/sda >> $LOGFILE
# get short test result
smartctl -t short -C /dev/sda >> $LOGFILE
# check hard drive's status
# if the output shows any error you better run a backup
smartctl -H /dev/sda >> $LOGFILE
# send log mail
# for configuring mail see https://wiki.archlinux.org/index.php/Msmtp
sendmail mionome@gmail.com < $LOGFILE
Re: Crontab non parte
Inviato: lunedì 25 gennaio 2021, 13:35
da rai
Non ho pattato i percorsi, perche' li uso gia' estesi. Questo e' lo script che non e' partito, dovrebbe fare un check SMART sul disco e mandarmi una mail di logs. Dov'e' l'errore che non riesco a vedere?
Non sono sicuro che l'errore sia questo ma tu sei sicuro che nell'envrironment di cron siano conosciuti i path delle cartelle in cui sono installati smartctl, date, sendmail, echo, e così via?
Inoltre, hai gia verificato che la tua impostazione di msmtp permetta anche a root di inviare mail come fai col tuo utente? (con ssmtp bisognava creare un file di alias contenente una cosa del tipo:
root:miamail@gmail.com:smtp.gmail.com:587)
Re: Crontab non parte
Inviato: lunedì 25 gennaio 2021, 13:42
da korda
rai ha scritto: ↑lunedì 25 gennaio 2021, 13:35
Non ho pattato i percorsi, perche' li uso gia' estesi. Questo e' lo script che non e' partito, dovrebbe fare un check SMART sul disco e mandarmi una mail di logs. Dov'e' l'errore che non riesco a vedere?
Non sono sicuro che l'errore sia questo ma tu sei sicuro che nell'envrironment di cron siano conosciuti i path delle cartelle in cui sono installati smartctl, date, sendmail, echo, e così via?
Ora ho aggiunto un
export PATH... in testa allo script, vediamo cosa succede...
rai ha scritto: ↑lunedì 25 gennaio 2021, 13:35
Inoltre, hai gia verificato che la tua impostazione di msmtp permetta anche a root di inviare mail come fai col tuo utente? (con ssmtp bisognava creare un file di alias contenente una cosa del tipo:
root:miamail@gmail.com:smtp.gmail.com:587)
Tutto ok...
ssmtp non funziona piu' con Gmail, bisogna usare
msmtp. Ho gia' testato la cosa, vedi qui
viewtopic.php?f=8&t=644360
Re: [Risolto] Crontab non parte
Inviato: lunedì 25 gennaio 2021, 14:22
da korda
Avete ragione, bisogna esportare le variabili d'ambiente
Piccolo OT... secondo voi, per i test SMART di diagnostica su disco, e' necessario fare periodicamente un long test (che mi prenderebbe almeno 6 ore), o uno short test periodico e' piu' che sufficiente?!
Re: Crontab non parte
Inviato: lunedì 25 gennaio 2021, 14:22
da thece
korda ha scritto: ↑lunedì 25 gennaio 2021, 13:42
... vediamo cosa succede...
Non serve aspettare, lo vedi subito se la mia ipotesi era corretta e lo script funziona, basta rischedulare temporanemente lo script.
Io avrei esplicitato la variabile di ambiente PATH nel crontab in questo modo
Codice: Seleziona tutto
...
#
# m h dom mon dow command
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
0 2 * * 1 /root/SCRIPT/DiskCheck.sh
0 2 * * 2 /root/SCRIPT/AutoUpgrade.sh
...
Re: [Risolto] Crontab non parte
Inviato: lunedì 25 gennaio 2021, 16:05
da Clover
korda ha scritto: ↑lunedì 25 gennaio 2021, 14:22
Piccolo OT... secondo voi, per i test SMART di diagnostica su disco, e' necessario fare periodicamente un long test (che mi prenderebbe almeno 6 ore), o uno short test periodico e' piu' che sufficiente?!
Il test LONG è da fare quando si sospetta un problema al disco e anche in questo caso ci possono essere dei fattori di rischio che il test non verifica (mi è capitato un M.2 proprio settimana scorsa che superava il test ma poi il sistema mi dava degli errori pur avendo ricreato la GPT); altrimenti il breve va più che bene... più che altro è da ricordarsi di fare backup periodici e verificarli almeno una volta l'anno.