Gestion automatique d'un jour particulier du mois en perl

Gestion automatique d'un jour particulier du mois en perl - Perl - Programmation

Marsh Posté le 08-03-2006 à 13:58:45    

Bonjour à toutes et à tous,
 
J'ai une petite question à propos de la gestion du calendrier.
J'administre actuellement un système de backup sous Solaris et je dois migrer sous un environnment Windows.
Pour gèrer le nouveau système de backup (scripts, lancement de jobs) - mes responsables techniques m'ont conseillé Perl qui pemet d'assurer au mieux (après modif) mes scripts en korn shell (au lieu de tout ré-écrire en dos).Je suis tout nouveau sur Perl mais grâce au FAQ et aux cours sur internet - j'ai pu déjà écrire quelques scripts qui fonctionnent parfaitement et dont je suis assez content
 
Mais je suis bloqué sur un point. Et je n'ai pas encore trouvé de solution.
Tous les samedis du mois ont lieu tous nos fulls excepté le trosième samedi du mois qui sont consacrés entièrement aux archives. Ces backups sont copiés sur une bande dont la retention est différente suivant le type de backup (full ou archive).
Sous Unix, j'utilise la commande "Cal" puis avec un tail et un awk, je sais précisement quel est le 3ème samedi - un script permet alors de lancer suivant le type de samedi une copie Full (retention 3 mois) ou une copie archive (retention infini).
 
Mais là sous Perl - je suis bloqué car la fonction "cal" de perl est très limitée.  
 
S'il vous plait, avez vous une moindre idée - ou une piste avec Perl sur la façon dont je pourrais me débrouiller ?
 
Merci encore


Message édité par popol la buse le 08-03-2006 à 14:00:57
Reply

Marsh Posté le 08-03-2006 à 13:58:45   

Reply

Marsh Posté le 08-03-2006 à 22:10:58    

la seule idée m'ayant apparu étant de placer en dur dans un fichier   (mois et date correspondant au troisième samedi du mois) et de le parcourir chaque samedi afin de connaître sa spécificité (Full ou archives). Ensuite grâce une boucle d'appliquer les sorties adéquates

Reply

Marsh Posté le 08-03-2006 à 22:16:07    

Tu peux regarder le numéro du jour [:proy]  
Si tu es entre le 1er et le 7 (compris) du mois, c'est le 1er samedi. Du 8 au 14, le 2ème, et du 15 au 21, c'est le 3ème samedi du mois.
Enfin, je pense :??:

Reply

Marsh Posté le 09-03-2006 à 00:12:36    

http://search.cpan.org/~sbeck/DateManip-5.44/Manip.pod
 
ya vraiment beaucoup de fonction de manip de date dans ca, à regarder, p-e qu'une fera l'affaire

Reply

Marsh Posté le 09-03-2006 à 10:30:12    

Mr Bebert , effectivement cela pourrait marcher - et cela me permettrait de placer une fonction dans mon scripts qui gère les intervalle 1-7 8-15 16-21
Burgergold, je vais regarder attentivement ton lien et faire des tests
 
Merci à vous deux  

Reply

Marsh Posté le 12-03-2006 à 14:26:23    

Burgergold,  
J'ai utilisé le module Date::Manip et j'ai crée ce que je voulais - c'est à dire déterminer le jour correspondant au 3ème samedi du mois courant
Voici mon petit programme
 
use Date::Manip;  
$days = ParseDate("today" );
 
#recherche du mois courant
$mois=UnixDate($days,"%B" );
print $mois;print "\n";
 
# recherche du 3ème samedi du mois courant
$date = ParseDate("3rd saturday in $mois" );
print &UnixDate($date,"%Y-%m-%d" );


Message édité par popol la buse le 12-03-2006 à 14:29:32
Reply

Sujets relatifs:

Leave a Replay

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