J'ai édité mon onglet cron racine pour exécuter périodiquement un script situé dans le dossier d'un utilisateur particulier à l'aide 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 racine avait la permission de faire quoi que ce soit. Je n'ai aucun problème lorsque j'exécute manuellement ce script en tant que root.
J'ai lu dans la documentation que d'autres informations sur les erreurs peuvent être trouvées ici:
sudo cat /var/log/syslog
Voici ce que j'ai trouvé:
Jan 30 12:30:01 backup CRON[17702]: (CRON) info (No MTA installed, discarding output)
Cependant, je pense que cela n'est probablement pas lié au problème de l'autorisation refusée.
Alors, que dois-je vraiment faire?
ubuntu
permissions
cron
Lonniebiz
la source
la source
/home/user/Location/Of/Script
? Par exemplela -l /home/user/Location/Of/Script
. Soit dit en passant, vous avez besoin d'un MTA installé pour une utilisation interne normale, même si vous n'envoyez / recevez pas de courrier électronique en externe. Je suis surpris que votre système ne l'ait pas déjà installé.Réponses:
Je pense que votre script n'est pas exécutable. Donc, utilisez la commande suivante pour le faire:
Ou, si vous n'êtes pas propriétaire de ce script:
la source
./Scipt
ou/home/user/Location/Of/Script
ce n'est pas ok. En règle générale, tout script doit être exécutable. Voir Comment exécuter un script shell sous Linux .