Executer le dernier jour du mois avec crontab

Executer le dernier jour du mois avec crontab - Codes et scripts - Linux et OS Alternatifs

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

Reply

Marsh Posté le 28-08-2006 à 16:16:08   

Reply

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 ?
 
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



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 :p)
- 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

Reply

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.

Reply

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 :o). 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...


Message édité par RiderCrazy le 28-08-2006 à 17:21:40
Reply

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.


---------------
"Your god is too small", Giordano Bruno, 1548 - 1600
Reply

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 ?

Reply

Marsh Posté le 29-08-2006 à 13:34:15    

RiderCrazy a écrit :

Et pour les années bissextiles ?


 
raison de plus!

Reply

Marsh Posté le 29-08-2006 à 17:08:48    


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 ?

Reply

Marsh Posté le 29-08-2006 à 18:12:46    

RiderCrazy a écrit :

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 ?


 
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à.

Reply

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.

Reply

Marsh Posté le 29-08-2006 à 18:28:14   

Reply

Marsh Posté le 29-08-2006 à 18:44:19    

memaster a écrit :

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.


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 [:spamafote] Donc pour les années bissextiles, c'est DTC ;)

Message cité 1 fois
Message édité par RiderCrazy le 29-08-2006 à 18:46:16
Reply

Marsh Posté le 29-08-2006 à 18:48:03    

perso je regarde si demain est le premier

Reply

Marsh 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.

Reply

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

Reply

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...
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 [:spamafote] Donc pour les années bissextiles, c'est DTC ;)


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 :hello:

Reply

Marsh Posté le 31-10-2009 à 11:01:04    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed