Crontab - pb changement d'heure
Fermé
JM_contreband
Messages postés
3
Date d'inscription
jeudi 12 avril 2007
Statut
Membre
Dernière intervention
17 avril 2007
-
12 avril 2007 à 10:03
dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 - 18 avril 2007 à 15:53
dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 - 18 avril 2007 à 15:53
A voir également:
- Crontab - pb changement d'heure
- Changement dns - Guide
- Changement d'écriture - Guide
- 35 go internet équivalent en heure - Forum Mobile
- Colissimo heure de livraison après-midi - Forum Consommation & Internet
5 réponses
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
12 avril 2007 à 10:47
12 avril 2007 à 10:47
Hi
Le problème ne se posant qu'une fois par année, le plus simple me semble de modifier la crontab la veille et de la remodifier le lendemain. Ce qui n'exclu pas une solution technique mais ...
Le problème ne se posant qu'une fois par année, le plus simple me semble de modifier la crontab la veille et de la remodifier le lendemain. Ce qui n'exclu pas une solution technique mais ...
Bonjour,
deux pistes :
- au début de la commande déclenchée par cron, vérifier que la commande n'est pas déjà déjà active dans un autre process. Cela peut nécessiter la création d'un fichier de verrouillage. Cela peut aussi conduire à une exécution parasite à 3h00.
- au début de la commande, vérifier que l'heure est l'une des heures normales de lancement (par exemple refuser tous les lancements entre 3h00 et 3h04 si la commande ne doit s'exécuter qu'à h+5mn, h+20mn etc comme dans votre exemple).
(je décline toute responsabilité si ces méthodes conduisent à programmer une collision)
Manu
deux pistes :
- au début de la commande déclenchée par cron, vérifier que la commande n'est pas déjà déjà active dans un autre process. Cela peut nécessiter la création d'un fichier de verrouillage. Cela peut aussi conduire à une exécution parasite à 3h00.
- au début de la commande, vérifier que l'heure est l'une des heures normales de lancement (par exemple refuser tous les lancements entre 3h00 et 3h04 si la commande ne doit s'exécuter qu'à h+5mn, h+20mn etc comme dans votre exemple).
(je décline toute responsabilité si ces méthodes conduisent à programmer une collision)
Manu
JM_contreband
Messages postés
3
Date d'inscription
jeudi 12 avril 2007
Statut
Membre
Dernière intervention
17 avril 2007
16 avril 2007 à 11:44
16 avril 2007 à 11:44
Merci à vous pour vos réponses !
La solution que nous avons proposée était d'intervenir la veille, mais cette solution a été refusée par l'équipe d'exploitation. La solution de dubcek, qui me semble aussi la plus simple, ne convient donc pas...
La première des deux pistes proposées par Manu est déjà en partie implémentée dans notre système : a commande qui tourne teste au départ si elle n'est pas déjà en train de tourner, mais le fait qu'elle se lance simultanément a déjoué ce contrôle. En revanche, ce contrôle se fait actuellement sans création de fichier temporaire type .commande_en_cours. Peut-être que cela solidifierait le contrôle. A explorer donc !
La seconde des pistes proposée par Manu est celle que nous allons explorer la première : empêcher le lancement du script entre 3h et 3h04.
La solution que nous avons proposée était d'intervenir la veille, mais cette solution a été refusée par l'équipe d'exploitation. La solution de dubcek, qui me semble aussi la plus simple, ne convient donc pas...
La première des deux pistes proposées par Manu est déjà en partie implémentée dans notre système : a commande qui tourne teste au départ si elle n'est pas déjà en train de tourner, mais le fait qu'elle se lance simultanément a déjoué ce contrôle. En revanche, ce contrôle se fait actuellement sans création de fichier temporaire type .commande_en_cours. Peut-être que cela solidifierait le contrôle. A explorer donc !
La seconde des pistes proposée par Manu est celle que nous allons explorer la première : empêcher le lancement du script entre 3h et 3h04.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
16 avril 2007 à 13:30
16 avril 2007 à 13:30
Il est possible de mettre dans cron la veille la modification de la crontab pour passer le changement d'heure !! :-)
JM_contreband
Messages postés
3
Date d'inscription
jeudi 12 avril 2007
Statut
Membre
Dernière intervention
17 avril 2007
17 avril 2007 à 16:19
17 avril 2007 à 16:19
Dubcek,
Je voudrais que tu ailles plus loin lorsque tu dis :
Il est possible de mettre dans cron la veille la modification de la crontab pour passer le changement d'heure !! :-)
Comment croner aujourd'hui la modification de la crontab pour tous les changements d'heure à venir, sachant que le changement d'heure change de date tous les ans ?
S'il faut une intervention manuelle pour croner la modification de la crontab tous les ans, on reviendra à un refus de la part des exploitants...
Je voudrais que tu ailles plus loin lorsque tu dis :
Il est possible de mettre dans cron la veille la modification de la crontab pour passer le changement d'heure !! :-)
Comment croner aujourd'hui la modification de la crontab pour tous les changements d'heure à venir, sachant que le changement d'heure change de date tous les ans ?
S'il faut une intervention manuelle pour croner la modification de la crontab tous les ans, on reviendra à un refus de la part des exploitants...
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
18 avril 2007 à 15:53
18 avril 2007 à 15:53
J'ai pas de système Unix pour tester, mais sachant que le changement à lieu à 2h le dernier
dimanche d'octobre qui a 31 jours,
je tourne un cron le 25 10 à 0h15 qui lance une commande : at 0030 sunday < script_qui_modifie_cron
cette commande s'exécutera le dernier dimanche d'octobre.
A moins qu'une faille m'ait échappé.
dimanche d'octobre qui a 31 jours,
je tourne un cron le 25 10 à 0h15 qui lance une commande : at 0030 sunday < script_qui_modifie_cron
cette commande s'exécutera le dernier dimanche d'octobre.
A moins qu'une faille m'ait échappé.