Les plans d’exécution permettent de coordonner le déclenchement d’un ensemble de sauvegardes depuis le poste serveur pendant une plage horaire donnée. Par exemple, vous pouvez utiliser les plans d’exécution pour sauvegarder durant la nuit les postes d’une entreprise et obtenir un résumé détaillé des opérations effectuées ainsi que des problèmes rencontrés.
Un plan d'exécution est représenté par une structure de données du type NsExecPlan. Chaque exécution du plan génère une strucure NsExecPlanOperation qui synthéthise le résultat de l'exécution du plan. Vous pouvez spécifier un ensemble de sauvegardes à exécuter en définissant la propriété AllBackups à true, ou bien en créant et associant des objets de type NsExecPlanMember au plan d'exécution.
L'identificateur unique du plan d'exécution. Les constantes suivantes peuvent-être utilisées :
Le nom du plan d'exécution.
Un nombre entre 0 et 23 représentant l'heure de début d'exécution du plan.
Un nombre entre 0 et 23 représentant l'heure de fin d'exécution du plan. Si des sauvegardes s'exécutent encore lorsque l'heure de fin d'exécution du plan est atteinte, elles seront automatiquement annulées par le serveur.
Une valeur représentant les jours d'activation du plan d'exécution.
Si la valeur de ce champ est à true, le plan d'exécution exécute toutes les tâches de sauvegarde créées sur le serveur. Si la valeur de ce champ est à false, la liste exacte des sauvegardes devant être exécutée est gérée en créant des éléments de type NsExecPlanMember.
Nombre maximum de sauvegardes pouvant être lancées de manière concurrentes. Si cette propriété est initialisée à 0, toutes les sauvegardes sont lancées en même temps. Sinon, le serveur de sauvegarde déclenche et relance les sauvegardes durant la plage horaire de manière à ce que ce nombre d'opérations concurrentes soit respecté.
Le nombre maximum de résumés des dernière opérations (de type NsExecPlanOperation) à conserver.
Les options de reporting du plan d'exécution. Les options suivantes peuvent-être combinées :
Les options supplémentaires du plan. Les valeurs suivantes peuvent être combinées :
La dernière date d'exécution au format UTC. Si le plan d'exécution n'a jamais été exécuté, la date de création du plan est renvoyée.
L'identificateur unique de la dernière opération si elle existe (NsExecPlanOperation), -1 sinon.
Retourne une variable booléenne indiquant si le plan d'exécution est actuellement en cours d'exécution.
Charge en mémoire le plan d'exécution possédant l'identificateur ExecPlanID.
Met à jour le plan d'exécution représenté par l'objet.
Supprime le plan d'exécution représenté par l'objet.
Démarre manuellement le plan d'exécution, en définissant une date de fin d'exécution spécifiée par EndDate. Si l'opération réussit, l'opération créée correspondante est renvoyée, sinon, une référence d'objet invalide est retournée.
Retourne les commentaires associés à l'objet.
Definit les commentaires associés à l'objet.
Retourne les attributs personnalisés associés à l'objet.
Retourne les membres du plan d'exécution, correspondant aux sauvegardes qui seront exécutées par le plan.
Retourne les opérations engendrées par les exécutions du plan, si elles ont été réalisées.
Set connection = CreateObject("NsAPI.NsConnection") if connection.ConnectToLocalServer then set server = CreateObject("NsAPI.NsServer") if server.Load(connection) then set execPlansList = server.ExecPlans(connection) 'Récupérer la liste des plans d'exécution MsgBox "Le serveur possède " & execPlansList.Count & " plans d'exécution." for each execPlan in execPlansList MsgBox execPlan.Name 'Afficher le nom de chaque plan next end if connection.Disconnect else MsgBox "Connexion au serveur impossible." end if
const epdExecPlanDayNone = &h00000000 const epdExecPlanDayMonday = &h00000001 const epdExecPlanDayTuesday = &h00000002 const epdExecPlanDayWednesday = &h00000004 const epdExecPlanDayThursday = &h00000008 const epdExecPlanDayFriday = &h00000010 const epdExecPlanDaySaturday = &h00000020 const epdExecPlanDaySunday = &h00000040 Set connection = CreateObject("NsAPI.NsConnection") if connection.ConnectToLocalServer then set execPlan = CreateObject("NsAPI.NsExecPlan") execPlan.ID = -1 'Constante nécessaire pour créer le plan execPlan.Name = "Sauvegarde de tout le serveur" execPlan.StartHour = 20 'Heure de début de plan: 20h execPlan.StopHour = 6 'Heure de fin de plan : 6h du matin execPlan.Days = epdExecPlanDayMonday or epdExecPlanDayTuesday or epdExecPlanDayWednesday or epdExecPlanDayThursday or epdExecPlanDayFriday ' Tous les jours de la semaine execPlan.AllBackups = true 'Toutes les sauvegardes execPlan.MaxConcurrentBackups = 3 '3 sauvegardes à la fois execPlan.MaxOperationsToKeep = 10 '10 exécutions à garder execPlan.ReportingMode = 0 'Pas d'e-mails de notification execPlan.Options = 0 'Pas d'options supplémentaires if execPlan.Update(connection) then 'Création sur le serveur ' Le plan d'exécution est créé. On le lance ! execPlan.Start connection, DateAdd("h", 6, Now) else MsgBox "Impossible de créer le plan d'exécution." end if connection.Disconnect else MsgBox "Connexion au serveur impossible." end if