class NsBackupScheduling

La classe NsBackupScheduling représente les paramètres de planification d'une sauvegarde, lorsque l'option nsSchedulingCustom est spécifiée pour le champ SchedulingOptions de la classe NsBackup.

Lorsque cette classe est utilisée pour définir des paramètres de déclenchements automatiques, on dit que la sauvegarde possède des paramètres de planification récurrents.

Les prochaines dates de déclenchement des sauvegardes calculées en fonction des paramètres définis par cette classe peuvent être consultés via un objet de type NsBackupSchedulingStatus.

VARIANT_BOOL Load(NsConnection Connection, __int64 BackupID)

Charge en mémoire les paramètres de planification pour la sauvegarde BackupID.

VARIANT_BOOL Save(NsConnection Connection, __int64 BackupID)

Sauvegarde les paramètres de planification en mémoire pour la sauvegarde BackupID.

void Clear()

Efface les données de planification.

void SetRecurringScheduling(long Hour, long Min)

Définit une planification quotidienne pour la sauvegarde, qui sera lancée chaque jour à Hour heures et Min minutes.

Mise à jour de toutes les heures de déclenchement

Set connection = CreateObject("NsAPI.NsConnection")
Set sysutils = CreateObject("NsAPI.NsScriptUtils")

const nsSchedulingCustom = 4

currentHour = 0

if connection.ConnectToLocalServer then
  set server = CreateObject("NsAPI.NsServer")

  if server.Load(connection) then ' Chargement des infos serveur
    set backups = server.allBackups(connection) ' Récupération de la liste de toutes les sauvegardes
    
    for each backup in backups ' Pour chaque sauvegarde...
      if (backup.schedulingOptions and nsSchedulingCustom) > 0 then ' La sauvegarde est elle planifiée ?
        set scheduling = CreateObject("NsAPI.NsBackupScheduling")
        
        if scheduling.Load(connection, backup.ID) then ' Charger les paramètres de planification
          scheduling.Clear ' Effacer les paramètres actuels
          currentHour = (currentHour + 1) mod 24 ' Définir une nouvelle heure de planification
          scheduling.SetRecurringScheduling currentHour, 0 ' Définir une planification récurrente à l'heure choisie
          if not scheduling.Save(connection, backup.ID) then ' Enregistrer les paramètres de planification
            MsgBox "Impossible de sauvegarder les nouveaux paramètres de planification."
          end if
        else
          MsgBox "Impossible de charger les paramètres de planification."
        end if
      end if
    next
    
    MsgBox "Les paramètres de planification ont été mis à jour."
  else
    MsgBox "Impossible de charger les informations serveur."
  end if

  connection.Disconnect
else
  MsgBox "Connexion au serveur local impossible."
end if