La classe NsBackupSourceStats décrit les statistiques d'un élément source d'une sauvegarde, de type NsBackupSource.
Le nombre de fichiers uniques stockés.
Le nombre total de fichiers et de leurs versions stockées.
Le volume de données stocké sur le serveur pour l'élément source.
Le volume total de données sur le poste client représenté par l'élément source.
Le nombre de transferts en attente de reprise associés à l'élément source.
Le volume total de données en attente de reprise associés à l'élément source.
Charge en mémoire les statistiques de l'élément source possédant l'identificateur RootID.
Set connection = CreateObject("NsAPI.NsConnection")
Set sysutils = CreateObject("NsAPI.NsScriptUtils")
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érer la liste des sauvegardes
set sourceStatsWithMaxBrokenFiles = nothing
set sourceWithMaxBrokenFiles = nothing
set backupWithMaxBrokenFiles = nothing
for each backup in backups ' Pour chaque sauvegarde...
set sources = backup.Sources(connection) ' Récupérer ses sources...
for each source in sources ' Pour chaque source...
set stats = CreateObject("NsAPI.NsBackupSourceStats")
if not stats.LoadFromID(connection, source.ID) then ' Charger ses statistiques
MsgBox "Impossible de charger les statistiques sur la source de sauvegarde #" & sysutils.Int64ToStr(source.ID)
else
' On vérifie que la sauvegarde examinée contient bien des fichiers en attente de transfert
if not sysutils.CompareInt64(stats.BrokenFilesSize, 0) = 0 then
if sourceStatsWithMaxBrokenFiles is nothing then
set sourceStatsWithMaxBrokenFiles = stats
end if
' Est ce qu'on référence effectivement la sauveagarde avec le plus
' grand nombre de transferts en attente ?
if sysutils.CompareInt64(stats.BrokenFilesSize, sourceStatsWithMaxBrokenFiles.BrokenFilesSize) > 0 then
set sourceStatsWithMaxBrokenFiles = stats
set sourceWithMaxBrokenFiles = source
set backupWithMaxBrokenFiles = backup
end if
end if
end if
next
next
if not sourceStatsWithMaxBrokenFiles is nothing then
MsgBox "La sauvegarde contenant le plus de transferts en attente est la sauvegarde n°" & sysutils.int64ToStr(backupWithMaxBrokenFiles.ID) & ", """ & backupWithMaxBrokenFiles.Name & """, les fichiers proviennent de : " & sourceWithMaxBrokenFiles.PathName
else
MsgBox "Aucune sauvegarde ne contient des fichiers en attente de transfert."
end if
else
MsgBox "Impossible de charger les informations serveur."
end if
connection.Disconnect
else
MsgBox "Connexion au serveur local impossible."
end if