web-dev-qa-db-fra.com

Pourquoi cron n'exécute pas le script?

Je crée simplement un script dans / root/test.sh fichier:

#!/bin/bash
echo "hello"
mkdir newdir

suivant:

chmod +x /root/test.sh

Nous pouvons être convaincus que test.sh appartient à root:

root@ubuntu-s-1vcpu-1gb-ams3-01:~# find /root -user root /root
/root/test.sh

Alors, ma crontab:

root@ubuntu-s-1vcpu-1gb-ams3-01:~# crontab -l
Shell=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin

* * * * * /root/test.sh

(J'ai aussi essayé avec run-parts:

* * * * * root run-parts /root/test.sh

)

Aucune méthode n’exécute mon script, ne sort pas "hello" et ne crée pas de répertoire newdir.

statut de service cron:

root@ubuntu-s-1vcpu-1gb-ams3-01:~# service cron status
● cron.service - Regular background program processing daemon
   Loaded: loaded (/lib/systemd/system/cron.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2018-08-18 15:46:42 UTC; 23h ago
     Docs: man:cron(8)
 Main PID: 1340 (cron)
    Tasks: 1
   Memory: 26.8M
      CPU: 7.982s
   CGroup: /system.slice/cron.service
           └─1340 /usr/sbin/cron -f

Aug 19 15:16:01 ubuntu-s-1vcpu-1gb-ams3-01 CRON[439]: (root) CMD (root run-parts /root/test.sh)
Aug 19 15:16:01 ubuntu-s-1vcpu-1gb-ams3-01 CRON[438]: (CRON) info (No MTA installed, discarding output)
Aug 19 15:16:01 ubuntu-s-1vcpu-1gb-ams3-01 CRON[438]: pam_unix(cron:session): session closed for user root
Aug 19 15:17:01 ubuntu-s-1vcpu-1gb-ams3-01 CRON[1032]: pam_unix(cron:session): session opened for user root by (uid=0)
Aug 19 15:17:01 ubuntu-s-1vcpu-1gb-ams3-01 CRON[1031]: pam_unix(cron:session): session opened for user root by (uid=0)
Aug 19 15:17:01 ubuntu-s-1vcpu-1gb-ams3-01 CRON[1033]: (root) CMD (root run-parts /root/test.sh)
Aug 19 15:17:01 ubuntu-s-1vcpu-1gb-ams3-01 CRON[1032]: (CRON) info (No MTA installed, discarding output)
Aug 19 15:17:01 ubuntu-s-1vcpu-1gb-ams3-01 CRON[1032]: pam_unix(cron:session): session closed for user root
Aug 19 15:17:01 ubuntu-s-1vcpu-1gb-ams3-01 CRON[1034]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Aug 19 15:17:01 ubuntu-s-1vcpu-1gb-ams3-01 CRON[1031]: pam_unix(cron:session): session closed for user root

toutes les minutes, cron essaie de faire quelque chose, mais comment je vois - j'ai un message

session fermée pour l'utilisateur root

et rien ne se passe.

Que dois-je faire de plus?

=============================================== =======================

après la suppression de la chaîne [email protected], le script crée correctement le répertoire newdir. Mais pas encore la chaîne imprimée 'bonjour'. Cela fonctionne donc, mais certains problèmes apparaissent dans la chaîne #echo "hello".

1
Valentyn Hruzytskyi

Exécutez crontab -e et mettez-y la ligne suivante:

*/1 * * * * /root/test.sh 1> /dev/null 2> /root/test.err

Ceci fonctionne chaque minute. Le fichier test.err vous donnera une erreur de sortie au cas où la commande échouait.

1
kukulo