Créer un service pour exécuter un script sh
Fermé
simo.m
Messages postés
1
Date d'inscription
mardi 27 août 2013
Statut
Membre
Dernière intervention
27 août 2013
-
27 août 2013 à 12:06
Flachy Joe Messages postés 2102 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 21 novembre 2023 - 27 août 2013 à 19:27
Flachy Joe Messages postés 2102 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 21 novembre 2023 - 27 août 2013 à 19:27
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
A voir également:
- Executer .sh
- Impossible d'exécuter le code car xinput1_3.dll est introuvable ✓ - Forum Jeux PC
- Executer un programme au demarrage - Guide
- Lancer un script shell - Forum Linux / Unix
- Actuellement le système d'exploitation n'est pas configuré pour exécuter cette application - Forum Word
- Sh player - Télécharger - Divers Web & Internet
2 réponses
Tomy2e
Messages postés
816
Date d'inscription
jeudi 21 février 2013
Statut
Membre
Dernière intervention
18 août 2016
859
27 août 2013 à 17:13
27 août 2013 à 17:13
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
Flachy Joe
Messages postés
2102
Date d'inscription
jeudi 16 septembre 2004
Statut
Membre
Dernière intervention
21 novembre 2023
260
27 août 2013 à 19:19
27 août 2013 à 19:19
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.
Flachy Joe
Messages postés
2102
Date d'inscription
jeudi 16 septembre 2004
Statut
Membre
Dernière intervention
21 novembre 2023
260
Modifié par Flachy Joe le 27/08/2013 à 19:33
Modifié par Flachy Joe le 27/08/2013 à 19:33
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.