Créer un service pour exécuter un script sh
simo.m
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
Flachy Joe Messages postés 2102 Date d'inscription Statut Membre Dernière intervention -
Flachy Joe Messages postés 2102 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai un problème sous linux ,j'ai crée un script sh pour enlever les droits d'écriture pour un dossier quand il contient un nombre de fichier supérieur à 5 , le problème c'est que j'ignore comment le rendre en écoute (c'est à dire l'éxecuter tout le temps ) je pense que c'est à partir d'un service mais comment faire j'en ai aucune idée,j'ai essayé pas mal de fois mais sans résultat ,pourriez-vous m'aider svp parce c'est fort urgent . merci
j'ai un problème sous linux ,j'ai crée un script sh pour enlever les droits d'écriture pour un dossier quand il contient un nombre de fichier supérieur à 5 , le problème c'est que j'ignore comment le rendre en écoute (c'est à dire l'éxecuter tout le temps ) je pense que c'est à partir d'un service mais comment faire j'en ai aucune idée,j'ai essayé pas mal de fois mais sans résultat ,pourriez-vous m'aider svp parce c'est fort urgent . merci
2 réponses
Bonjour, c'est possible et c'est appelé "tâche cron" sous Linux, voici un petit tutoriel pour pouvoir utiliser ces tâches: http://generation-linux.fr/?post/2009/02/11/Cours-Linux-:-Automatisation-de-taches-avec-Cron
Salut,
les "services" ont leurs scripts de démarrage dans /etc/init.d/ (sous debian et dérivés en tout cas, à vérifier pour les autres).
Tu peux écrire ton script à partir du fichier /etc/init.d/skeleton (que tu copie dans /etc/init.d/mon_service ) avec ces variables :
Il faut ensuite l'ajouter au démarrage avec:
Je n'ai pas testé la création à partir du squelette mais j'ai déjà utiliser un truc de ce genre : http://www.admin-debian.com/gestion-des-processus/ajouter-un-script-au-demarrage-sous-debian/
Ça a l'avantage sur le cron que le délai peut être très court (le temps pour le script bash de boucler) et donc ton verrouillage sera très réactif.
Bon courage.
les "services" ont leurs scripts de démarrage dans /etc/init.d/ (sous debian et dérivés en tout cas, à vérifier pour les autres).
Tu peux écrire ton script à partir du fichier /etc/init.d/skeleton (que tu copie dans /etc/init.d/mon_service ) avec ces variables :
NAME='mon_service' DEAMON='/bin/bash' DAEMON_ARGS="chemin_vers_le_script_qui_boucle_en_permanence"
Il faut ensuite l'ajouter au démarrage avec:
update-rc.d mon_service defaults
Je n'ai pas testé la création à partir du squelette mais j'ai déjà utiliser un truc de ce genre : http://www.admin-debian.com/gestion-des-processus/ajouter-un-script-au-demarrage-sous-debian/
Ça a l'avantage sur le cron que le délai peut être très court (le temps pour le script bash de boucler) et donc ton verrouillage sera très réactif.
Bon courage.
J'oubliai : pour que ton script bash se termine proprement, il faut qu'il gère la capture des signaux, par l'intermédiaire de la commande trap, sinon il sera tué à la sauvage lors de l'extinction.