Vous n'êtes pas identifié(e).
Pages : 1
Dernière modification par françoise (24-06-2010 10:22:51)
Hors ligne
saque eud dun (patois chtimi : fonce dedans)
Hors ligne
Hors ligne
$ cat >anniftest.txt <<EOF
> 22/01/1985 Moi
> 10/06/2004 un_autre
> 22/06/1963 lui
> 22/06/1874 elle
> 5/11/2000 sa_soeur
> EOF
2) utilisation:
$ grep `date +%d/%m` anniftest.txt
22/06/1963 lui
22/06/1874 elle
Ensuite il faut bien entendu en faire une tâche cron.
@+
Hors ligne
saque eud dun (patois chtimi : fonce dedans)
Hors ligne
Dernière modification par françoise (23-06-2010 12:28:47)
Hors ligne
y créer le fichier du script ainsi :
et écrire :
ouvrir le crontab ainsi :
et rédiger la date anniversaire à la place des * (étoiles) :
où :
user = ton nom d'user
20 = 20 mn
18 = 18 h
23 = le 23 ème jour du mois
6 = juin (sixième mois)
* = (un jour de semaine pour répéter un message hebdomadairement)
/home/user/scripts/script_ann.sh = la commande ou le script à lancer le 23 juin à 18 h 20 tous les ans
Hop !
De nombreuses idées peuvent être mise à la place de la création d'un répertoire... une image, un telechargement depuis la toile.. etc !
Merci au captnfab pour son bon sens et sa collaboration !
Amitié, Jojo
saque eud dun (patois chtimi : fonce dedans)
Hors ligne
Hors ligne
si j'entre le nom et date anniversaire dans le fichier script_ann.sh des personnes concernées, faut-il que je mette aussi une liste de toutes mes dates
oui, il faut configurer le cron pour chacune des date anniversaires.
Tu peux le faire d'un coup ou en rajouter quand tu le veux
D'ailleurs, à la réflexion, je vais te proposer de ne configurer que le cron sans écrire de script
tu ouvres le cron :
$ crontab -e
Sous l'entête commenté avec un dièse :
# m h dom mon dow command
tu écris la même ligne pour chacune des dates :
30 10 01 01 * echo date 01/01/ anniversaire de toto > ~/Desktop/Anniversaire.txt
30 10 01 02 * echo date 01/02/ anniversaire de tata > ~/Desktop/Anniversaire.txt
30 10 01 03 * echo date 01/03/ anniversaire de toto > ~/Desktop/Anniversaire.txt
Tu enregistres et tu fermes le cron.
Première ligne ajoutée, nous lisons que :
à 10h 30 du 01/01 de chaque année la commande echo fabriquera un fichier texte nommé Anniversaire.txt à destination du bureau de l'user.
Pour la date 01/01, le fichier contiendra les termes :
date 01/01/ anniversaire de toto
Et à chaque nouvelle date, un fichier identique apparaîtra pour chacun des autres anniversaire avec chacun la date anniversaire indiquée individuellement.
Si tu désire rajouter, par exemple la date anniversaire de tintin qui est le 01/04, tu ouvres le cron :
$ crontab -e
et tu rajoutes cette date dans les mêmes termes :
30 10 01 01 * echo date 01/01/ anniversaire de toto > ~/Desktop/Anniversaire.txt
30 10 01 02 * echo date 01/02/ anniversaire de tata > ~/Desktop/Anniversaire.txt
30 10 01 03 * echo date 01/03/ anniversaire de toto > ~/Desktop/Anniversaire.txt
30 10 01 04 * echo date 01/04/ anniversaire de tintin > ~/Desktop/Anniversaire.txt
À chaque fois, le fichier sera créé (ou son contenu modifié si tu l'as laissé) sur le bureau à 10h 30 de la date anniversaire.
Le marquage des dates n'a pas besoin d'être mis dans l'ordre comme ici.
dans le cron, nous avons :
mn h jour mois *
l'appel de la commande echo
avec le texte : date 01/04/ anniversaire de tintin
la destination > ~/Desktop/ (sur le bureau)
dans le fichier Anniversaire.txt
Yep ?
saque eud dun (patois chtimi : fonce dedans)
Hors ligne
Hors ligne
saque eud dun (patois chtimi : fonce dedans)
Hors ligne
Hors ligne
Dernière modification par smolski (23-06-2010 21:50:20)
saque eud dun (patois chtimi : fonce dedans)
Hors ligne
* * * * * grep `date +\%d\/\%m` /home/tux12/tmp/anniftest.txt >/home/tux12/Desktop/annif_du_jour.txt || rm /home/tux12/Desktop/annif_du_jour.txt
Sur la base de mon fichier texte précédent, un fichier contenant la date de naissance et le nom de la ou des personne(s), une par ligne, est créé, et s'il n'y à pas d'anniversaire ce jour, un éventuel fichier existant est détruit.
Il reste à adapter les chemins/noms à vos besoins et à préciser l'heure à laquelle on veut le lancer (les * * * * * ). A ce propos,
Tu veux dire la dernière * étoile à mettre ?
Elle concerne une date hebdomadaire de chaque jour du mois.
Si tu l'utilises, tu n'utilises pas le jour et le mois avec, juste les heures.
En fait le cron se déclenche si les minutes, les heures et le mois, ainsi que l'un des deux derniers champs au moins, coincident. Les deux derniers champs c'est le jour du mois et le jour de la semaine; on peut ainsi spécifier par exemple "tous les lundis ET le premier jour du mois" avec * * * 1 1 .
Mais le crontab c'est pas top pour faire ça en fait. Il faudrait lancer le script à l'ouverture de session graphique, et afficher les anniversaires du jour dans une fenêtre popup. Il reste du boulot.
@+
Dernière modification par anonyme (24-06-2010 00:13:45)
Hors ligne
Hors ligne
Hors ligne
Hors ligne
Dernière modification par françoise (27-06-2010 09:37:03)
Hors ligne
Hors ligne
Pages : 1