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

Ecrire un commentaire

XHTML: Vous pouvez utiliser les balises : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>