web-dev-qa-db-fra.com

cron n'est pas en train d'exécuter le script

Je commence à jouer avec Linux alors je m'excuse pour une question idiote. Le fait est que j'essaie d'exécuter une tâche automatiquement toutes les heures, toutes les 20 minutes.

  1. Je crée un fichier sh dans mon dossier de scripts:

. #!/bin/sh cd/home/ubuntu/scripts/dm-customer &&
python3 ./md_executor.py

1.1 Je transforme le fichier sh en exécutable:

  • chmod 755 etl-execution.sh
  • chmod + x etl-execution.sh

    1. Maintenant, j'ai tapé crontab -e et ajouté une ligne:

      • 55 * * * * ubuntu /home/ubuntu/scripts/dm-customer/etl-execution.sh

Ensuite, mon cron devrait se déclencher automatiquement, mais rien ne se passe. J'ai essayé de:

  • Editez ma crontab -e en utilisant ubuntu plutôt que root mais rien ne se passe
  • Si j'exécute manuellement le sh dans ma session Ubuntu, cela ne se comprend vraiment pas.

J'apprécie tous les commentaires que cela me rend fou. Merci

1
Andres Angel
55 * * * * ubuntu /home/ubuntu/scripts/dm-customer/etl-execution.sh

Pourquoi avez-vous Ubuntu là-bas?

Le format est, à partir de man 5 crontab:

   The format of a cron command is similar to the V7 standard, with a num-
   ber  of upward-compatible extensions.  Each line has five time-and-date
   fields followed by a username (if this is the system crontab file), and
   followed  by  a  command.   Commands  are  executed by cron(8) when the
   'minute', 'hour', and 'month of the  year'  fields  match  the  current
   time, and at least one of the two 'day' fields ('day of month', or 'day
   of week') match the current time (see "Note" below).

Le nom d'utilisateur ne doit être inclus que s'il s'agit de la crontab du système. Si vous utilisez crontab -e en tant que votre propre utilisateur, il devrait not être inclus.

Essayer

55 * * * * /home/ubuntu/scripts/dm-customer/etl-execution.sh

et voir si cela fonctionne.

2
vidarlo