cron non esegue i comandi. - RISOLTO -.

Questioni legate al Kernel Linux: configurazione, installazione, ottimizzazione, patch
Rispondi
miazza
Newbie
Newbie
Messaggi: 14
Iscritto il: 09/04/2022, 16:04

cron non esegue i comandi. - RISOLTO -.

Messaggio da miazza »

Ho inserito questi comandi molto basici ma non funzionano:

Codice: Seleziona tutto

30 01 * * * /usr/sbin/shutdown -h now
*   *   *   *    touch /tmp/test
Il primo dovrebbe spegnere ogni notte alla 1:30 (a.m.)
Il secodo dovrebbe creare un file test in /tmp ma nessuno dei due funziona

sono loggatto come root e il cron è quello di root.
cron sembra essere attivo e senza problemi.

Codice: Seleziona tutto

root@debian:/tmp# systemctl status cron
* cron.service - Regular background program processing daemon
     Loaded: loaded (/lib/systemd/system/cron.service; enabled; vendor preset: e                                                                                                             nabled)
     Active: active (running) since Fri 2022-04-29 18:41:21 CEST; 2min 0s ago
       Docs: man:cron(8)
   Main PID: 392 (cron)
        CPU: 20ms
     CGroup: /system.slice/cron.service
             `-392 /usr/sbin/cron -f

Apr 29 18:41:21 debian systemd[1]: Started Regular background program processing                                                                                                              daemon.
Apr 29 18:41:21 debian cron[392]: (CRON) INFO (pidfile fd = 3)
Apr 29 18:41:24 debian cron[392]: (CRON) INFO (Running @reboot jobs)
root@debian:/tmp# ls
Dopo qualche minuto invece: Authentication failure

Codice: Seleziona tutto

root@debian:/tmp# crontab -e
No modification made
root@debian:/tmp# systemctl status cron
* cron.service - Regular background program processing daemon
     Loaded: loaded (/lib/systemd/system/cron.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2022-04-29 18:41:21 CEST; 9min ago
       Docs: man:cron(8)
   Main PID: 392 (cron)
        CPU: 70ms
     CGroup: /system.slice/cron.service
             `-392 /usr/sbin/cron -f

Apr 29 18:41:21 debian systemd[1]: Started Regular background program processing daemon.
Apr 29 18:41:21 debian cron[392]: (CRON) INFO (pidfile fd = 3)
Apr 29 18:41:24 debian cron[392]: (CRON) INFO (Running @reboot jobs)
Apr 29 18:45:01 debian cron[984]: Authentication failure
Apr 29 18:45:01 debian CRON[984]: Authentication failure

Qualche idea ?
Ultima modifica di miazza il 01/05/2022, 20:01, modificato 1 volta in totale.
Avatar utente
azioga
Hero Member
Hero Member
Messaggi: 1330
Iscritto il: 03/09/2018, 7:53

Re: cron non esegue i comandi.

Messaggio da azioga »

ti è rimasto un crontab di qualche vecchio utente?
cosa dice

# ls -al /var/spool/cron/crontabs


* * * * touch /tmp/test
non dovrebbe essere
* * * * * /usr/bin/touch /tmp/test

?
Avatar utente
David7
Full Member
Full Member
Messaggi: 114
Iscritto il: 31/03/2022, 14:34

Re: cron non esegue i comandi.

Messaggio da David7 »

Oltre quello che correttamente ha detto il buon azioga: cosa dice il syslog (anche per vedere gli utenti oltre root)?
Dovrebbero essere tipo:

Codice: Seleziona tutto

Apr 29 18:41:21 s1 CRON[392]: (utente) CMD ...
Live Long & Prosper - Mettere [RISOLTO] al titolo primo post come da Regolamento quando risolto (entro 30g), tnx. https://duckduckgo.com - https://guide.debianizzati.org/index.ph ... i_al_forum
Il cancro si può sconfiggere!
miazza
Newbie
Newbie
Messaggi: 14
Iscritto il: 09/04/2022, 16:04

Re: cron non esegue i comandi.

Messaggio da miazza »

azioga ha scritto: 30/04/2022, 15:37 ti è rimasto un crontab di qualche vecchio utente?
In che senso ?
E' una macchina nuova su cui crontab non esisteva e si è creato quando ho scritto crontab -e.
azioga ha scritto: 30/04/2022, 15:37 cosa dice

# ls -al /var/spool/cron/crontabs
root@debian:~# ls -al /var/spool/cron/crontabs
total 16
drwx-wx--T 2 root crontab 4096 Apr 30 18:39 .
drwxr-xr-x 3 root root 4096 Apr 26 19:49 ..
-rw------- 1 root crontab 1169 Apr 30 18:39 root
-rw------- 1 www-data crontab 1157 Apr 26 19:59 www-data
azioga ha scritto: 30/04/2022, 15:37 * * * * touch /tmp/test
non dovrebbe essere
* * * * * /usr/bin/touch /tmp/test
?
Ho provato anche così ma niente ...

Codice: Seleziona tutto

root@debian:/tmp# systemctl status cron
● cron.service - Regular background program processing daemon
     Loaded: loaded (/lib/systemd/system/cron.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2022-05-01 09:11:09 CEST; 5min ago
       Docs: man:cron(8)
   Main PID: 517 (cron)
        CPU: 16.189s
     CGroup: /system.slice/cron.service
             └─517 /usr/sbin/cron -f

Apr 29 22:45:01 debian cron[8322]: Authentication failure
Apr 29 22:45:01 debian CRON[8322]: Authentication failure
Apr 29 23:00:01 debian CRON[8385]: PAM unable to dlopen(pam_stack.so): /lib/security/pam_stack.so: cannot open shared object file: No such file or directory
Apr 29 23:00:01 debian CRON[8385]: PAM adding faulty module: pam_stack.so
Apr 29 23:00:01 debian cron[8385]: Authentication failure
Apr 29 23:00:01 debian CRON[8385]: Authentication failure
Apr 29 23:04:55 debian systemd[1]: Stopping Regular background program processing daemon...
Apr 29 23:04:55 debian systemd[1]: cron.service: Succeeded.
Apr 29 23:04:55 debian systemd[1]: Stopped Regular background program processing daemon.
Apr 29 23:04:55 debian systemd[1]: cron.service: Consumed 1.082s CPU time.
root@debian:/tmp# ls
.           .X11-unix        systemd-private-e9189b7bad2a47cb9f2487f832133dee-apache2.service-kqrcTf           systemd-private-e9189b7bad2a47cb9f2487f832133dee-wsdd.service-mvi8xg
..          .XIM-unix        systemd-private-e9189b7bad2a47cb9f2487f832133dee-redis-server.service-zjRGuf      test
.ICE-unix   .font-unix       systemd-private-e9189b7bad2a47cb9f2487f832133dee-systemd-logind.service-Rxbnpg
.Test-unix  cron-apt.X7hWdt  systemd-private-e9189b7bad2a47cb9f2487f832133dee-systemd-resolved.service-fLD47g
root@debian:/tmp#
In realtà credo che ownCloud o Openmediavault abbiano preso possesso di cron e non sia editabile da nessuno.

Ho provato ad installare systemd-cron e automaticamente mi ha disinstallato openmediavault, come se le due cosa non fossero compatibili.
Avatar utente
azioga
Hero Member
Hero Member
Messaggi: 1330
Iscritto il: 03/09/2018, 7:53

Re: cron non esegue i comandi.

Messaggio da azioga »

miazza ha scritto: 01/05/2022, 8:20
azioga ha scritto: 30/04/2022, 15:37 ti è rimasto un crontab di qualche vecchio utente?
In che senso ?
E' una macchina nuova su cui crontab non esisteva e si è creato quando ho scritto crontab -e.
azioga ha scritto: 30/04/2022, 15:37 cosa dice

# ls -al /var/spool/cron/crontabs
root@debian:~# ls -al /var/spool/cron/crontabs
total 16
drwx-wx--T 2 root crontab 4096 Apr 30 18:39 .
drwxr-xr-x 3 root root 4096 Apr 26 19:49 ..
-rw------- 1 root crontab 1169 Apr 30 18:39 root
-rw------- 1 www-data crontab 1157 Apr 26 19:59 www-data
L'utente www-data cosa fa?
Hai guardato nel syslog come suggerito da @David7?

con una cosa tipo
# cat /var/log/syslog* | grep CRON | grep CMD

?

e indaga su questo:

Codice: Seleziona tutto

Apr 29 23:00:01 debian CRON[8385]: PAM unable to dlopen(pam_stack.so): /lib/security/pam_stack.so: cannot open shared object file: No such file or directory
Apr 29 23:00:01 debian CRON[8385]: PAM adding faulty module: pam_stack.so
miazza
Newbie
Newbie
Messaggi: 14
Iscritto il: 09/04/2022, 16:04

Re: cron non esegue i comandi.

Messaggio da miazza »

azioga ha scritto: 01/05/2022, 9:07 L'utente www-data cosa fa?
Hai guardato nel syslog come suggerito da @David7?

con una cosa tipo
# cat /var/log/syslog* | grep CRON | grep CMD
www-data credo sia stato creato da apache quando ho installato owcloud.
Una parte dell'installazione chiedeva di mettere in cron un comando da invocare il comando cron.php ogni 15 minuti.
5 giorni fa funzionava ma adesso anche ownCloud dice che potrebbe esserci un problema con cron.

Codice: Seleziona tutto

root@debian:~# cat /var/log/syslog* | grep CRON | grep CMD
May  1 09:15:01 debian CRON[1551]: (root) CMD (/usr/sbin/omv-mkrrdgraph >/dev/null 2>&1)
May  1 09:15:02 debian CRON[1552]: (root) CMD (/usr/bin/touch /tmp/test)

May  1 09:17:01 debian CRON[1791]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)

May  1 12:30:01 debian CRON[1775]: (root) CMD ([ -x /etc/init.d/anacron ] && if [ ! -d /run/systemd/system ]; then /usr/sbin/invoke-rc.d anacron start >/dev/null; fi)

May  1 12:39:01 debian CRON[1931]: (root) CMD (  [ -x /usr/lib/php/sessionclean ] && if [ ! -d /run/systemd/system ]; then /usr/lib/php/sessionclean; fi)

E' un continuo ripetersi di queste righe.

L'unica cosa che posso aver combinato di strano :

Codice: Seleziona tutto

mkdir /var/www/www
seguito da:

Codice: Seleziona tutto

 
chown www-data:www-data www
era una prova per far coesistere apache con nginx ma poi ho cancellato la dir www e non dovrebbe essere rimasto nulla di questo ... giusto ?

Forse dovrei dare

Codice: Seleziona tutto

chown www-data:www-data
per far tornare a funzionare lo user di apache ?
azioga ha scritto: 01/05/2022, 9:07 e indaga su questo:

Codice: Seleziona tutto

Apr 29 23:00:01 debian CRON[8385]: PAM unable to dlopen(pam_stack.so): /lib/security/pam_stack.so: cannot open shared object file: No such file or directory
Apr 29 23:00:01 debian CRON[8385]: PAM adding faulty module: pam_stack.so
E' da 2 giorni che ci provo ... ma non so dove sbattere la testa.
Tutto quello che ho trovato è di aggiungere una riga che riguarda gli utenti appena sopra a pam_stack.so ma non funziona.
Ultima modifica di miazza il 01/05/2022, 16:27, modificato 1 volta in totale.
miazza
Newbie
Newbie
Messaggi: 14
Iscritto il: 09/04/2022, 16:04

Re: cron non esegue i comandi.

Messaggio da miazza »

Io ora mi sento strano perchè non ho fatto nulla e sembra essere tornato a funzionare:

Codice: Seleziona tutto

root@debian:/tmp# systemctl status cron
● cron.service - Regular background program processing daemon
     Loaded: loaded (/lib/systemd/system/cron.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2022-05-01 12:12:14 CEST; 4h 59min ago
       Docs: man:cron(8)
   Main PID: 510 (cron)
        CPU: 5min 34.932s
     CGroup: /system.slice/cron.service
             └─510 /usr/sbin/cron -f

May 01 17:09:01 debian CRON[8008]: (root) CMD (  [ -x /usr/lib/php/sessionclean ] && if [ ! -d /run/systemd/system ]; then /usr/lib/php/sessionclean; fi)
May 01 17:09:01 debian CRON[8007]: pam_unix(cron:session): session opened for user root(uid=0) by (uid=0)
May 01 17:09:01 debian CRON[8006]: pam_unix(cron:session): session closed for user root
May 01 17:09:01 debian CRON[8010]: (root) CMD (/usr/bin/touch /tmp/test)
May 01 17:09:01 debian CRON[8007]: pam_unix(cron:session): session closed for user root
May 01 17:10:01 debian CRON[8101]: pam_unix(cron:session): session opened for user root(uid=0) by (uid=0)
May 01 17:10:01 debian CRON[8102]: (root) CMD (/usr/bin/touch /tmp/test)
May 01 17:10:01 debian CRON[8101]: pam_unix(cron:session): session closed for user root
May 01 17:11:01 debian CRON[8114]: pam_unix(cron:session): session opened for user root(uid=0) by (uid=0)
May 01 17:11:01 debian CRON[8114]: pam_unix(cron:session): session closed for user root
root@debian:/tmp# 
e il file test è correttamente creato in /tmp.
Something is magic here :)

Forse ha aiutato anche lo scrivere giusto il comando in cron seguendo i vostri consigli.
A proposito è giusto così ?

Codice: Seleziona tutto

30 1 * * * /usr/sbin/shutdown -h now

* * * * * /usr/bin/touch /tmp/test
Comunque per il momento grazie, siete sempre tutti molto preziosi e gentili su questo forum.
Avatar utente
azioga
Hero Member
Hero Member
Messaggi: 1330
Iscritto il: 03/09/2018, 7:53

Re: cron non esegue i comandi.

Messaggio da azioga »

metti risolto nel titolo.
un crontab senza errori può avere aiutato
miazza
Newbie
Newbie
Messaggi: 14
Iscritto il: 09/04/2022, 16:04

Re: cron non esegue i comandi. (Risolto)

Messaggio da miazza »

azioga ha scritto: 01/05/2022, 16:32 metti risolto nel titolo.
un crontab senza errori può avere aiutato
Ho messo risolto. Grazie.

Per far tornare a funzionare cron per l'utente www-data devo ridare il chmod corretto

Codice: Seleziona tutto

chown www-data:www-data /var/www/ 
?
Avatar utente
azioga
Hero Member
Hero Member
Messaggi: 1330
Iscritto il: 03/09/2018, 7:53

Re: cron non esegue i comandi.

Messaggio da azioga »

scusami, metti risolto nel titolo del tuo primo post.

per quanto riguarda www-data non so che operazioni hai fatto e cosa c'è dietro :(

hai dato un'occhiata al contenuto di /var/spool/cron/crontabs/www-data per vedere se è corretto?
se esegui manualmente il comando funziona?

# ls -al /var/www cosa dice?
miazza
Newbie
Newbie
Messaggi: 14
Iscritto il: 09/04/2022, 16:04

Re: cron non esegue i comandi.

Messaggio da miazza »

azioga ha scritto: 01/05/2022, 16:58 scusami, metti risolto nel titolo del tuo primo post.
fatto :)
azioga ha scritto: 01/05/2022, 16:58 per quanto riguarda www-data non so che operazioni hai fatto e cosa c'è dietro :(

hai dato un'occhiata al contenuto di /var/spool/cron/crontabs/www-data per vedere se è corretto?
se esegui manualmente il comando funziona?

Codice: Seleziona tutto

*/15  *  *  *  * /usr/bin/php -f /var/www/owncloud/occ system:cron
azioga ha scritto: 01/05/2022, 16:58 # ls -al /var/www cosa dice?

Codice: Seleziona tutto

root@debian:/var/spool/cron/crontabs# ls -al /var/www
total 32
drwxr-xr-x  5 root                  root                   4096 Apr 29 16:48 .
drwxr-xr-x 13 root                  root                   4096 Apr 24 22:07 ..
drwxr-xr-x  3 root                  root                   4096 Apr 29 18:06 html
drwxr-xr-x  5 openmediavault-webgui openmediavault-webgui 16384 Apr 30 18:10 openmediavault
drwxr-xr-x 16 www-data              www-data               4096 Apr 21 21:49 owncloud
Ecco , forse la risposta la ho lanciando il comando a mano:

Codice: Seleziona tutto

root@debian:/var/www/owncloud# ./occ system:cron
Console has to be executed with the user that owns the file config/config.php
Current user: root
Owner of config.php: www-data
Try adding 'sudo -u www-data ' to the beginning of the command (without the single quotes)
Probabilmente devo ridare il corretto chown a www-data:

Codice: Seleziona tutto

chown www-data:www-data /var/www/ 
Rispondi