[Risolto] Crontab non parte

Installazione, configurazione e uso di programmi e strumenti.
Scrivi risposta
korda
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1823
Iscrizione: giovedì 24 dicembre 2020, 15:58

[Risolto] Crontab non parte

Messaggio 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
Ultima modifica di korda il lunedì 25 gennaio 2021, 14:18, modificato 1 volta in totale.
Io non sono Bagheera né Akela, io non frequento la Rupe.
Io sono Kaa: faccio ballare le scimmie alle Tane Fredde.
rai
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 2886
Iscrizione: domenica 11 maggio 2008, 18:03
Desktop: plasma
Distribuzione: 22.04
Località: Palermo

Re: Crontab non parte

Messaggio 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
korda
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1823
Iscrizione: giovedì 24 dicembre 2020, 15:58

Re: Crontab non parte

Messaggio 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
Io non sono Bagheera né Akela, io non frequento la Rupe.
Io sono Kaa: faccio ballare le scimmie alle Tane Fredde.
Avatar utente
thece
Tenace Tecnocrate
Tenace Tecnocrate
Messaggi: 13164
Iscrizione: lunedì 23 aprile 2007, 14:16
Distribuzione: Debian 12 (Bookworm) - KDE

Re: Crontab non parte

Messaggio 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 :D ).
Nel crontab di root schedula così

Codice: Seleziona tutto

*/5 * * * * /DOVEVUOITU/testScript.sh
questo script (/DOVEVUOITU/testScript.sh)

Codice: Seleziona tutto

#/bin/bash

echo "$PATH" > /tmp/testScripts.$(date +\%Y.\%m.\%d.\%H.\%M.\%S).log

exit 0
korda
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1823
Iscrizione: giovedì 24 dicembre 2020, 15:58

Re: Crontab non parte

Messaggio da korda »

@thece stasera provero' e vi aggiorno
Io non sono Bagheera né Akela, io non frequento la Rupe.
Io sono Kaa: faccio ballare le scimmie alle Tane Fredde.
Avatar utente
Clover
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 298
Iscrizione: giovedì 30 agosto 2012, 14:04
Desktop: KDE
Distribuzione: Kubuntu x86_64

Re: Crontab non parte

Messaggio 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
korda
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1823
Iscrizione: giovedì 24 dicembre 2020, 15:58

Re: Crontab non parte

Messaggio 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.
Io non sono Bagheera né Akela, io non frequento la Rupe.
Io sono Kaa: faccio ballare le scimmie alle Tane Fredde.
Avatar utente
thece
Tenace Tecnocrate
Tenace Tecnocrate
Messaggi: 13164
Iscrizione: lunedì 23 aprile 2007, 14:16
Distribuzione: Debian 12 (Bookworm) - KDE

Re: Crontab non parte

Messaggio 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 ...
rai
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 2886
Iscrizione: domenica 11 maggio 2008, 18:03
Desktop: plasma
Distribuzione: 22.04
Località: Palermo

Re: Crontab non parte

Messaggio 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
korda
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1823
Iscrizione: giovedì 24 dicembre 2020, 15:58

Re: Crontab non parte

Messaggio 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
Io non sono Bagheera né Akela, io non frequento la Rupe.
Io sono Kaa: faccio ballare le scimmie alle Tane Fredde.
rai
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 2886
Iscrizione: domenica 11 maggio 2008, 18:03
Desktop: plasma
Distribuzione: 22.04
Località: Palermo

Re: Crontab non parte

Messaggio 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)
korda
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1823
Iscrizione: giovedì 24 dicembre 2020, 15:58

Re: Crontab non parte

Messaggio 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
Io non sono Bagheera né Akela, io non frequento la Rupe.
Io sono Kaa: faccio ballare le scimmie alle Tane Fredde.
korda
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1823
Iscrizione: giovedì 24 dicembre 2020, 15:58

Re: [Risolto] Crontab non parte

Messaggio da korda »

Avete ragione, bisogna esportare le variabili d'ambiente :D

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?!
Io non sono Bagheera né Akela, io non frequento la Rupe.
Io sono Kaa: faccio ballare le scimmie alle Tane Fredde.
Avatar utente
thece
Tenace Tecnocrate
Tenace Tecnocrate
Messaggi: 13164
Iscrizione: lunedì 23 aprile 2007, 14:16
Distribuzione: Debian 12 (Bookworm) - KDE

Re: Crontab non parte

Messaggio 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
...
Avatar utente
Clover
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 298
Iscrizione: giovedì 30 agosto 2012, 14:04
Desktop: KDE
Distribuzione: Kubuntu x86_64

Re: [Risolto] Crontab non parte

Messaggio 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.
Scrivi risposta

Ritorna a “Applicazioni”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 12 ospiti