Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 03/11/2009, à 10:02

rollus

[Résolu] Aide: réalisation d'un script

Bonjour, je souhaiterais écrire un script pour créer un lien symbolique en fonction de la date, que j'éxécuterais comme tache cron chaque jour à minuit.

Le but de ce script est de créer un lien symbolique d'un fichier (dont le nom est fonction de la date) vers un autre (que j'utilise comme bannière).

Voici l'algorythme:

jourFinal=19
jourDuMois=date %d

si jourDuMois inférieur ou égale à jourFinal alors
   index=jourFinal - jourDuMois
   creer lien symbolique de chemin1/fichier-($index).jpg vers chemin1/fichier.jpg
finsi

Quelqu'un saurait me traduire ca en script sh svp?

J'ai essayé, ça devrait être simple, mais je rame, notament avec l'utilisation des variables dans les commandes...

Merci d'avance,

RolluS

Dernière modification par rollus (Le 03/11/2009, à 13:17)

Hors ligne

#2 Le 03/11/2009, à 10:09

compte supprimé

Re : [Résolu] Aide: réalisation d'un script

Ca ne répond pas parfaitement à ta question, mais voici le résultat en perl :

#!/usr/bin/perl

$jourFinal=19;
$jourDuMois=`date +%d`;
$chemin1 = "ton chemin";
$fichier = "fichier.jpg";

if ($jourDuMois <= $jourFinal) {
   $index = $jourFinal - $jourDuMois;
   `ln -s $chemin1/$fichier $chemin1/$fichier-$index.jpg`; 
}

Avantage du perl : portable sous tous les OS, et indépendant du shell

Dernière modification par oktoberfest (Le 03/11/2009, à 10:14)

#3 Le 03/11/2009, à 10:13

rollus

Re : [Résolu] Aide: réalisation d'un script

Merci beaucoup oktoberfest wink

Je comprends ce que tu as écrit big_smile
Je pense que c'est au niveau des ' et " que j'avais des lacunes..

Le perl me convient aussi, c'est assez similaire à sh

Je m'en vais adapter à mon besoin et tester..

Hors ligne

#4 Le 03/11/2009, à 10:14

compte supprimé

Re : [Résolu] Aide: réalisation d'un script

Pendant ce temps, j'essaye en bash

Note : y'avait un bug dans le script (au niveau de date), j'ai corrigé

Dernière modification par oktoberfest (Le 03/11/2009, à 10:14)

#5 Le 03/11/2009, à 10:22

compte supprimé

Re : [Résolu] Aide: réalisation d'un script

Et voilà en bash :

#! /bin/bash
jourFinal=19
jourDuMois=`date +%d`
chemin1="ton chemin"
fichier="fichier.jpg"

if [[ $jourDuMois -le $jourFinal ]]; then
   index=$(($jourFinal - $jourDuMois))
   ln -s $chemin1/$fichier $chemin1/$fichier-$index.jpg  
fi

Dernière modification par oktoberfest (Le 03/11/2009, à 10:22)

#6 Le 03/11/2009, à 10:48

rollus

Re : [Résolu] Aide: réalisation d'un script

Ca fonctionne wink

au final, voici donc un script qui permet de changer dynamiquement une image présentant un compte à rebours vers un jour du mois en cours:

#!/usr/bin/perl

$jourFinal=19;
$jourDuMois=`date +%d`;

$chemin = "/var/www/";
$fichierLien = "bojonewsign2";
$fichierSourceRacine= "boj-";
$index = $jourFinal - $jourDuMois;
$ext = "jpg";

if ($jourDuMois <= $jourFinal) {
   `rm -f $chemin/$fichierLien.$ext`;
   `ln -s $chemin/$fichierSourceRacine$index.$ext $chemin/$fichierLien.$ext`;
}

Et cela donne:

bojonewsign.jpg

Encore merci à oktoberfest

RolluS

Dernière modification par rollus (Le 03/11/2009, à 11:11)

Hors ligne

#7 Le 03/11/2009, à 10:53

compte supprimé

Re : [Résolu] Aide: réalisation d'un script

Je comprends mieux le '19' dans le script lol

#8 Le 03/11/2009, à 11:19

rollus

Re : [Résolu] Aide: réalisation d'un script

Oui lol:

Petite question: comment travailler sur une date complète? par exemple 24/12/2009 voir même juste 24/12

càd

pour que l'index devienne la "distance" entre 2 dates? il faut formater $jourFinal grace au programme date?

Hors ligne