2010-02-24 4 views
4

Voici ce que je veux réaliser. Nous avons cette base de données d'archives d'email que nous optimisons sur une base hebdomadaire. Pour l'instant, nous nous connectons manuellement, exécutez la commande et surveillez l'état. L'optimisation peut prendre entre 3 et 12 heures, ce qui nous oblige à nous connecter toutes les quelques heures et à vérifier si elle est terminée ou non. Ce que je veux faire est de créer un fichier de commandes et de planifier une tâche pour exécuter le fichier batch. Maintenant, lorsque le fichier de commandes démarre, je génère un ID d'événement (puis je peux capturer cet identifiant et générer un e-mail via notre système de surveillance) et de la même manière lorsque l'optimisation génère l'ID d'événement dans le journal d'application. Voici ce que je pensais faire: -Créer un événement avec les fichiers batch

@echo off 
cd C:\Program Files\Quest Software\ArchiveManager 
C:\WINDOWS\system32\cmd.exe /K "Archive Full Text Index Service" –optimize 
IF errorlevel 1 Goto Stoppd 
exit 
:Stoppd 
eventcreate /l application /t information /so 9999 /id 1 /d "the optimization has started " 
:end 

Je suis très mauvais avec les fichiers batch et les scripts. Quelqu'un peut-il s'il vous plaît conseiller sur la façon de générer un événement. Merci

+0

Comment êtes-vous démarrer la sauvegarde? – rerun

Répondre

0

Serait-il acceptable de ne pas créer un ID d'événement et simplement utiliser un programme de messagerie comme Blat pour envoyer un e-mail lorsque vous voulez être averti?

1

En premier lieu, l'opération cmd /k doit retourner un errorlevel de 0 si elle a été lancée correctement, de sorte que votre appel à eventcreate doit se produire avant que votre commande exit, pas après votre étiquette :Stoppd comme vous l'avez dans votre exemple.

Deuxièmement, si vous voulez déclencher votre opération d'archivage afin de fonctionner comme un processus donné naissance, vous devez mettre start en face de la ligne cmd:

start C:\WINDOWS\system32\cmd.exe /K "Archive Full Text Index Service" –optimize 

Cela permettra à votre processus soit lancé et la console actuelle peut continuer et déclencher votre événement 'archive has started'.

En troisième lieu, afin d'obtenir l'événement à créer après votre opération d'archivage se termine, vous avez un choix de couple:

  1. vous pouvez concaténer deux commandes ensemble à l'aide &:

    start C:\WINDOWS\system32\cmd.exe /K "Archive Full Text Index Service" –optimize & eventcreate ...
  2. vous pouvez placer votre appel d'archivage et son appel eventcreate suivant dans un fichier de commandes, puis l'appeler dans votre appel cmd /k.

    start C:\WINDOWS\system32\cmd.exe /K myArchiveAndEventBatch.bat
+0

Hmmm, ouais, ce que tu as dit :) – MPelletier

Questions connexes