Crontab Job / Permission Denied / Linux 16.04

Fermé
matmat8888 Messages postés 33 Date d'inscription lundi 22 mai 2017 Statut Membre Dernière intervention 12 mars 2019 - 4 déc. 2017 à 18:05
 Utilisateur anonyme - 6 déc. 2017 à 13:43
Bonjour,

voilà j'essaie de faire marcher un crontab job et j'ai l'erreur suivant qui s'affiche que je ne sais pas comment régler :

/home/ubuntu/sss/: execle: Permission denied

Mon fichier crontab est comme ceci :

# variables
MAILTO=""
SHELL=/home/ubuntu/sss/
PATH=/home/ubuntu/sss/

# commands
55 07 * * * root my_command

J'édite mon crontab avec sudo crontab -e. Lorsque je lance ma commande my_command dans le shell dans le répertoire /home/ubuntu/sss/ elle marche parfaitement.

Si quelqu'un a une idée c'est top ! Merci d'avance.

Mathieu
A voir également:

2 réponses

Utilisateur anonyme
4 déc. 2017 à 18:33
salut,

avec crontab, il ne faut pas renseigner le nom d'utilisateur.

et, le nom d'un répertoire n'est pas un shell valide !
0
matmat8888 Messages postés 33 Date d'inscription lundi 22 mai 2017 Statut Membre Dernière intervention 12 mars 2019
4 déc. 2017 à 20:43
Merci pour ta réponse, et comment renseigner un shell valide dans ce cas tu sais ?

Ok j'ai enlevé le nom d'utilisateur avant la commande et j'ai la même erreur...

Mathieu
0
Utilisateur anonyme > matmat8888 Messages postés 33 Date d'inscription lundi 22 mai 2017 Statut Membre Dernière intervention 12 mars 2019
Modifié le 4 déc. 2017 à 21:58
pourquoi cherches-tu à renseigner ces variables ?
je n'ai jamais eu à le faire.
d'autant qu'un
PATH
aussi restreint élimine tous les exécutables qui seraient sous
/usr/bin
, dont le chemin absolu ne serait pas donné lors de leur appel...

c'est quoi
my_command
? un script shell, perl, python ? un exécutable ?
0
matmat8888 Messages postés 33 Date d'inscription lundi 22 mai 2017 Statut Membre Dernière intervention 12 mars 2019 > Utilisateur anonyme
5 déc. 2017 à 09:15
Bonjour ! Au fait c'est le path vers mon bundle, si je ne précise pas j'ai cette erreur :

/usr/bin/env: ‘ruby_executable_hooks’: No such file or directory

Mon fichier crontab est le suivant :

# variables
# MAILTO=""
SHELL=/home/ubuntu/sss/

# commands
13 08 * * * RAILS_ENV=production /home/ubuntu/.rvm/gems/ruby-2.3.4/bin/bundle exec rails runner "CommunityMailer.deliver_community_updates"

Et j'ai toujours cette erreur :

/home/ubuntu/sss/: execle: Permission denied

Est ce que tu as une idée du coup ? Merci ! :)
0
matmat8888 Messages postés 33 Date d'inscription lundi 22 mai 2017 Statut Membre Dernière intervention 12 mars 2019 > Utilisateur anonyme
5 déc. 2017 à 09:28
ps : avec ce crontab :

# variables
# MAILTO=""
# SHELL=/home/ubuntu/sss/

# commands
13 08 * * * RAILS_ENV=production bundle exec rails runner "CommunityMailer.deliver_community_updates"

j'ai l'erreur suivante :

/bin/sh: 1: bundle: not found
0
Utilisateur anonyme
5 déc. 2017 à 10:00
quand on débute, il faut ne changer qu'un seul élément à la fois.

restaure le chemin absolu vers ton
bundle
.
0
matmat8888 Messages postés 33 Date d'inscription lundi 22 mai 2017 Statut Membre Dernière intervention 12 mars 2019
Modifié le 5 déc. 2017 à 10:11
Bonjour,

un peu plus de précisions sur mon erreur, mon crontab est le suivant :

SHELL=/home/ubuntu/sss/

55 08 * * * RAILS_ENV=production bundle exec rails runner "CommunityMailer.deliver_community_updates"

et toujours la même erreur :

/home/ubuntu/sss/: execle: Permission denied

Quelqu'un a une idée ? Merci !
0
Utilisateur anonyme
5 déc. 2017 à 10:53
comment tu fais pour, systématiquement, passer à côté de la solution ?

la crontab doit contenir ceci :
13 08 * * * RAILS_ENV=production /home/ubuntu/.rvm/gems/ruby-2.3.4/bin/bundle exec rails runner "CommunityMailer.deliver_community_updates" 

c'est tout ! a priori.

je ne connais pas
ruby
, donc je ne sais pas à quoi correspond
rails
et
runner
.
c'est des fichiers ? des commandes ?...

et pourquoi as-tu installé
ruby
depuis les sources (apparemment, puisque son exécutable est dans ton répertoire personnel), plutôt que d'utiliser la version, probablement plus à jour (sur ARchLinux, c'est la 2.4.2) de ta distribution (laquelle ?) ?
0
matmat8888 Messages postés 33 Date d'inscription lundi 22 mai 2017 Statut Membre Dernière intervention 12 mars 2019 > Utilisateur anonyme
5 déc. 2017 à 11:29
Bonjour,

humm bah pour le moment je n'ai pas trouvé de solution tout simplement !

Merci pour ta réponse, avec ce crontab :

13 08 * * * RAILS_ENV=production /home/ubuntu/.rvm/gems/ruby-2.3.4/bin/bundle exec rails runner "CommunityMailer.deliver_community_updates" 


j'ai cette erreur :

/usr/bin/env: ‘ruby_executable_hooks’: No such file or directory


Est-ce que tu as une idée ?

Ce qui marche dans mon shell :

cd /home/ubuntu/sss/
RAILS_ENV=production bundle exec rails runner "CommunityMailer.deliver_community_updates"


Oui rails runner est une commande et sinon pour ruby il me faut la 2.3.4 c'est pourquoi je l'ai installé depuis une source.

Merci !
0
Utilisateur anonyme > matmat8888 Messages postés 33 Date d'inscription lundi 22 mai 2017 Statut Membre Dernière intervention 12 mars 2019
5 déc. 2017 à 11:37
tu as fait un script ?
il contient un shebang ?
il est exécutable ?

tu inscris le nom du script, et son chemin absolu dans la crontab, à la place de la commande ruby.
0
matmat8888 Messages postés 33 Date d'inscription lundi 22 mai 2017 Statut Membre Dernière intervention 12 mars 2019 > Utilisateur anonyme
6 déc. 2017 à 12:38
Bon j'ai trouvé il faut utiliser des wrappers voilà tout ! Essaie de te former un peu plus en crontab avant d'essayer d'aider même si c'est sympa d'avoir essayé ok ! Bonne journée.
0
Utilisateur anonyme
6 déc. 2017 à 13:43
mais je t'en prie, explique-moi donc ce que tu appelles des wrappers ?
0