Root Cron Won ' t Exécuter le script (autorisation refusée)
On février 15, 2021 by adminJai « régulièrement modifié mon onglet racine de cron » exécutez un script situé dans le dossier dun utilisateur particulier à laide de cette commande:
sudo crontab -e
Lorsque cron exécute le script, voici la sortie:
sh: 1: /home/user/Location/Of/Script: Permission denied
Je pensais que le cron root avait la permission de faire nimporte quoi. Je nai aucun problème lorsque jexécute manuellement ce script en tant que root.
Jai lu dans la documentation que dautres informations derreur peuvent être trouvées ici:
sudo cat /var/log/syslog
Voici ce que jai trouvé:
Jan 30 12:30:01 backup CRON[17702]: (CRON) info (No MTA installed, discarding output)
Cependant, je pense que cela na probablement aucun rapport avec le problème dautorisation refusée.
Alors, que dois-je vraiment faire?
Commentaires
Réponse
Je pense que votre script nest pas exécutable. Alors, utilisez la commande suivante pour le faire:
chmod +x /home/user/Location/Of/Script
Ou, si vous nêtes pas le propriétaire de ce script:
sudo chmod +x /home/user/Location/Of/Script
Commentaires
- Donc, pour que cron exécute le script, il doit être exécutable, mais manuellement en tant que root ne ' Vous navez pas besoin de cet indicateur, non?
- Cela dépend de la manière dont vous exécutez le script manuellement. Si vous exécutez le script en utilisant
./Scipt
ou/home/user/Location/Of/Script
cela ' nest pas correct. En général, tout script doit être exécutable. Voir Comment exécuter un script shell sous Linux . - Cela a du sens, mais jai vraiment exécuté ce script manuellement le ./script manière sans rencontrer de problèmes dautorisations jusquà ce que jessaye de le cron. Merci pour votre aide.
/home/user/Location/Of/Script
? Par exemple.la -l /home/user/Location/Of/Script
. Incidemment, vous avez besoin dun MTA installé pour une utilisation interne normale, même si vous nenvoyez / recevez pas de-mails en externe. Je ' étonné que votre système ne lait pas déjà installé.