planification ('at') - Win NT/2K/XP - Windows & Software
Marsh Posté le 11-04-2005 à 14:05:13
Je te conseille cette lecture : http://www.lea-linux.org/admin/adm [...] omate.html
Marsh Posté le 11-04-2005 à 14:19:42
Je te remercie Monsieur Seb, mais je ne sais toujours pas comment lancer des scripts à intervalles réguliers ET à la seconde près sous Windows 2000...
Marsh Posté le 11-04-2005 à 14:37:24
oui j'ai regardé l'aide, mais il est impossible de planifier une tâche à la seconde près et encore moins toutes les secondes ou toutes les 15 ou 30 secondes.
si vous avez une alternative à la commande 'at' qui permet la planification à la seconde près et qui s'utilise en ligne de commande je suis preneur...
Marsh Posté le 11-04-2005 à 14:53:10
pourqoi pas un script qui a la fin relance la commande at ?
Marsh Posté le 11-04-2005 à 14:58:23
au départ le script était censé planifier le lancement de plusieurs autres scripts et se terminer tout de suite après. si on fait un compteur ce ne sera plus le cas.
il doit fonctionner en tâche de fond comme un service windows
Marsh Posté le 11-04-2005 à 14:59:30
Alana a écrit : pourqoi pas un script qui a la fin relance la commande at ? |
je ne comprends pas ce que tu veux dire
Marsh Posté le 11-04-2005 à 14:59:39
Si tu fais une utilisation récurente de scripts, je pense que la meilleure solution est de faire une boucle avec une pause à chaque passage.
Pour la pause tu peux soit faire appel à des commandes externes de type "sleep", soit si ton langage de script le permet de faire une pause à l'aide d'une fonction intégrée (par exemple wscript.sleep en VBScript).
Ainsi tu éviteras toutes les X secondes de charger le moteur de script.
Marsh Posté le 11-04-2005 à 15:03:07
j'avais déjà pensé à ça : faire une boucle infinie avec un sleep() à la fin de la boucle.
Mais comme je l'ai dit plus haut ce programme doit tourner en tâche de fond. Si je fais ca, je n'aurais aucun moyen d'arrêter le pogramme.
Marsh Posté le 11-04-2005 à 15:04:33
imaginons que le programme que tu veux lancer s'appelle monprog, avec les arguments toto et tata, tu fais un script que j'appelle mon-script qui resemble a ca (a toi de corrgier la syntaxe)
monprog toto tata
at maintenant+X secondes lancer mon-script
Maintenant ca depend de ce que tu veux faire exactement, c'est clair que la fonction de windows doit etre bien limitée quand meme
Marsh Posté le 11-04-2005 à 15:07:23
ce que je voudrais faire exactement c'est ça :
monprog toto tata
at maintenant /every:30secondes lancer monprog
mais, à moins que je me sois trompé, la fonction 'at' de windows ne le permet pas
Marsh Posté le 11-04-2005 à 15:09:10
peut etre lancer ton script(exe) en tant que service et qu'il check lui meme le temps (en se referant a l'horloge systeme?)
Mais la on bricole un peu non?
Marsh Posté le 11-04-2005 à 15:09:50
bein tu fais comme j'ai dit, tu relance le script avec une nouvelle commande at..
Mais bon, c'est quand meme un poil lourd faut reconaitre. A mon avis il doit exister sur le net un equivalent windows du cron unix. peut etre meme qu'avec cygwin... (mais bon 200Mo pour ca... lol)
Marsh Posté le 11-04-2005 à 15:10:37
bigbisou : bonne idée ca... un "service" ce serait de loin le plus propre pour ce genre de chose
Marsh Posté le 11-04-2005 à 15:12:31
andlio ->
Il existe plusieures manières de faire, tu peux utiliser SRVANY du resource kit qui te permet de lancer n'importe quoi en service.
Après tu pilotes avec NET START [service] et NET STOP [service] le démarrage / arrêt... gros avantage tu peux demander au service de se lancer avec la machine. Tu peux aussi utiliser la console MMC pour lancer / arrêter ton service.
Une autre possibilité, dans ta boucle tu vérifies l'existence d'un fichier (par exemple C:\stopscript.txt) ... si le fichier existe ton script sort de la boucle (condition de sortie externe).
Une autre possibilité : tu le kill avec le gestionnaire des tâches
Marsh Posté le 11-04-2005 à 15:17:19
alana :
oui il y a une extension php (oui je dois la lancer à partir d'un script php, je crois que je ne l'ai pas précisé) qui permet de créer un service facilement : win32service.dll (pour ceux que ca interesse ya un p'tit tutos à l'adresse suivante : http://stephaneey.developpez.com/t [...] e-windows/ ).
mais le pb c'est qu'elle est compatible uniquement à partir de php5, alors que moi je travaille avec EasyPHP 1.8 (php4)
Marsh Posté le 11-04-2005 à 15:23:00
Il utilise PHP 5 dans son exemple, mais a priori la DLL qui se charge de l'enregistrement / suppression des services ne semble pas limité à la v5, c'est probablement utilisable depuis une version antérieure de PHP.
Marsh Posté le 11-04-2005 à 15:24:07
je vais voir ce que je peux trouver sur srvany.
merci à tous. Je vous tiendrais au courant
Marsh Posté le 11-04-2005 à 13:41:33
bonjour à tous,
je travaille sous windows 2000. Je voudrais planifier des taches à la seconde près afin de pouvoir lancer des scripts à intervalles réguliers (p.e. toutes les 30 secondes).
je n'arrive pas à le faire avec la commande 'at', est-ce que quelqu'un connaitrais une autre solution ou saurais comment utiliser la commande 'at' correctement ?
il faut que je puisse lancer le programme en ligne de commande.
merci