Exécution d’un script avec Crontab par un utilisateur
Pour certains besoins, il peut être nécessaire de faire exécuter un script via crontab par un autre utilisateur que root . Dans ce tuto, je vais utiliser www-data car mon script va être en relation avec mon serveur Apache.
Une fois votre script créé, placez le dans le bon dossier. Pour moi ce sera /usr/local/bin/
Attribuons les droits qui vont bien !
root@CT-SCRIPTS:~# chown www-data:www-data /usr/local/bin/monsuperscript.sh
root@CT-SCRIPTS:~# chmod 550 /usr/local/bin/monsuperscript.sh
Petit rappel :
chown L’utilisateur www-data et le groupe du même nom seront les nouveaux propriétaires du script.
5 L’utilisateur www-data aura les droits de lecture et d’exécution
5 Les utilisateurs appartenant au groupe auront les droits de lecture et d’exécution
0 Les autres n’auront aucun droit sur ce script
Maintenant, nous allons planifier notre tâche.
Ouvrez Crontab avec l’option -u user
root@CT-SCRIPTS:~# crontab -u www-data -e
Pour désactiver les mails que crontab envoi à chaque exécution ajoutez cette ligne
MAILTO=""
Puis ajoutez votre commande.
Ici j’exécute toutes les minutes (* * * * *) mon script (monsuperscript.sh)
* * * * * /usr/local/bin/monsuperscript.sh
Il peut être nécessaire de préciser le shell /bin/bash dans la Crontab en cas d’erreur
* * * * * /bin/bash /usr/local/bin/monsuperscript.sh
0 Commentaires