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?
# 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.
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
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.
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ì
@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.
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?
#!/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.
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)
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...
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.
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?!
Io non sono Bagheera né Akela, io non frequento la Rupe.
Io sono Kaa: faccio ballare le scimmie alle Tane Fredde.
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
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.