Executer le dernier jour du mois avec crontab - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 28-08-2006 à 16:58:30
weed a écrit : Comment fais ton pour executer un script à 18h tous les derniers jours du mois ?
|
Je suis pas certain que ce soit possible de choper le dernier jour du mois avec cron directement...
Deux solutions:
- faire ça le premier à minuit (mais bon, vu que t'as précisé le dernier jour à 18h, je pense pas que ça te convienne )
- lancer ton script comme noté ci-dessus mais en incluant une vérification de la date dedans pour voir si c'est réellement le dernier jour du mois
Marsh Posté le 28-08-2006 à 17:06:58
oui j'ai un script php qui verifie que c'est la derniere date du jour mais j'aurais préféré ne pas lancé inutellement le script. Mais bon si tu dis que c'est pas possible et bien ce n'est pas possible.
Marsh Posté le 28-08-2006 à 17:21:06
weed a écrit : oui j'ai un script php qui verifie que c'est la derniere date du jour mais j'aurais préféré ne pas lancé inutellement le script. Mais bon si tu dis que c'est pas possible et bien ce n'est pas possible. |
Benh j'avoue avoir pas mal regardé la doc de cron, différents sites, etc. Jamais trouvé quelque chose de concluant à ce niveau (si quelqu'un a quelqu'un chose, qu'il s'exprime maintenant ou se taise à jamais ). Le mieux, c'est d'imbriquer ton script dans un if avec la vérification de la date et voilà. Le script ne se lancera pas pour rien...
Marsh Posté le 29-08-2006 à 10:09:59
Le temps que tu passe à chercher l'algorithme est plus long que celui à tapper les 12 entrées pour une année.
Marsh Posté le 29-08-2006 à 12:01:33
roscocoltran a écrit : Le temps que tu passe à chercher l'algorithme est plus long que celui à tapper les 12 entrées pour une année. |
Et pour les années bissextiles ?
Marsh Posté le 29-08-2006 à 13:34:15
ReplyMarsh Posté le 29-08-2006 à 17:08:48
roscocoltran a écrit : raison de plus! |
Euh... du coup là je comprend plus ton raisonnement
Comment tu fais avec cron pour détecter que t'as 29 jours en février telle année ?
Marsh Posté le 29-08-2006 à 18:12:46
RiderCrazy a écrit : Euh... du coup là je comprend plus ton raisonnement |
Je dis que c'est plus rapide d'écrire chaque tâche séparément, ça prend 12 lignes par années et basta. Copier coller, tu ouvre un calendrier et voilà.
Marsh Posté le 29-08-2006 à 18:28:14
faut pas exagerer, mathematiquement c'est possible de calculer ça.
par exemple, on peut connaitre le jour de la semaine qui correspond exactement a une date précise même si c'etait en l'an 938...
cf : calendrier perpétuel
après faut voir en combien de temps tu peux implementer ça et si c'est pas plus rapide de faire
comme dit precedemment : 12lignes par an et basta.
Marsh Posté le 29-08-2006 à 18:44:19
memaster a écrit : faut pas exagerer, mathematiquement c'est possible de calculer ça. |
Euh, j'ai jamais dit que c'était compliqué de faire un petit algo pour savoir ça...
J'ai seulement fait remarquer qu'avec cron tout seul, benh je vois pas comment c'est possible...
Edit: de plus, 12 lignes par an avec cron, c'est pas possible. Enfin, si mais ça sert à rien, cron s'en fout de l'année, c'est pas paramétrable Donc pour les années bissextiles, c'est DTC
Marsh Posté le 29-08-2006 à 18:48:03
ReplyMarsh Posté le 29-08-2006 à 18:48:53
betsamee a écrit : perso je regarde si demain est le premier |
voilà, ça reste le plus simple, mais en script... pas sous cron en brut.
Marsh Posté le 29-08-2006 à 18:59:02
RiderCrazy a écrit : voilà, ça reste le plus simple, mais en script... pas sous cron en brut. |
en effet, sous cron "pur" cela ne me semble pas possible
Marsh Posté le 30-08-2006 à 08:49:46
RiderCrazy a écrit : Euh, j'ai jamais dit que c'était compliqué de faire un petit algo pour savoir ça... |
c'est pour cette raison que j'ai donné la piste du calendrier perpetuel au cas ou notre ami
voudrais se lancer dans ce calcul.
pour le principe, il faut créer un script qui se lance tous les 1er du mois qui calcule
la date de fin de mois et corrige le fichier cron qui lancera la tache programmée
à 18h00 à la date de fin de mois. stou
Marsh Posté le 28-08-2006 à 16:16:08
Comment fais ton pour executer un script à 18h tous les derniers jours du mois ?
Y a t-il une commande comme en php avec la fonction date ('t'); pour avoir le nombre de jour par mois que l'on pourrait inserer dans un crontab ?
ou sinon il y a pas moyen et le faire à la mano et tester tous les jours ?
0 18 28,29,30,31 * * * /home/script