Report
This subcategory provides users with APIs that generates reports for backup and restore jobs.
GetBackupJobReport
This API can be used to retrieve a detailed report of a specific backup job.
The settings can be found on the AhsayCBS web console at:
- Monitoring > Backup / Restore Logs > Backup Jobs
URL
https://CBS.EXAMPLE.COM/obs/api/json/GetBackupJobReport.do
Available Since Version: 9.7
Parameters
Key | Type | Description |
---|---|---|
SysUser | String | Username of an AhsayCBS System User with Admin or API role. |
SysPwd | String | Password matching SysUser. |
LoginName | String | Username of the backup user. |
Owner | String | Owner of the backup user. |
BackupSetID | String | ID of the backup set. Obtainable by calling the GetBackupSet API. |
DestinationID | String | For backup run by AhsayOBM v6 or older, this parameter can be omitted. For backup run by AhsayOBM v7, this parameter must be provided to get correct result. |
BackupJobID | String | ID of the backup job. Obtainable by calling the GetBackupSet API. |
Cdp | Boolean | True / False |
Return Values
Key | Type | Description |
---|---|---|
Status | String | "OK" or "Error" |
Data | String | See JSON Objects |
Message | String | Error message, it only appears if status displays "Error". |
ExptType | String | The type of exception, will only be displayed if the status is "Error". |
JSON Objects
Report
Key | Type | Description |
---|---|---|
ID | String | ID of the report. |
StartTime | String | In yyyy-MM-dd HH:mm:ss format. |
EndTime | String | In yyyy-MM-dd HH:mm:ss format. |
BackupJobStatus | String | Job status. BS_STOP_SUCCESS if successful backup. Error varies if the backup failed. |
NumOfWarnEntries | Long | Number of warning entries. |
NumOfErrorEntries | Long | Number of error entries. |
NumOfNewFiles | Long | Number of new files. |
TotalNewFilesSize | Long | Total size of new files. |
TotalUnzipNewFilesSize | Long | Total size of unzipped new files. |
NewFilesZipRatio | Long | Ratio of zipped new files. |
NumOfUpdatedFiles | Long | Number of updated files. |
TotalUpdatedFilesSize | Long | Total size of updated files. |
TotalUnzipUpdatedFilesSize | Long | Total size of unzipped updated files. |
UpdatedFilesZipRation | Long | Ratio of zipped updated files. |
NumOfUpdatedPermissionFiles | Long | Number of updated permission files. |
TotalUpdatedPermissionFilesSize | Long | Total size of updated permission files. |
TotalUnzipUpdatedPermissionFilesSize | Long | Total size of unzipped updated permission files. |
UpdatedPermissionFilesZipRatio | Long | Ratio zipped updated permission files. |
NumOfDeletedFiles | Long | Number of deleted files. |
TotalDeletedFilesSize | Long | Total size of deleted files. |
TotalUnzipDeletedFilesSize | Long | Total size of unzipped deleted files. |
DeletedFilesZipRatio | Long | Ratio of zipped deleted files. |
NumOfMovedFiles | Long | Number of moved files. |
TotalMovedFilesSize | Long | Total size of moved files. |
TotalUnzipMovedFilesSize | Long | Total size of unzipped moved files. |
MovedFilesZipRatio | Long | Ratio of zipped moved files. |
SuccessDatabase | Long | This key does not exist in VM backup. |
MissedDatabase | Long | This key does not exist in VM backup. |
SuccessVirtualMachine | Long | This key exists in VM backup. |
MissedVirtualMachine | Long | This key exists in VM backup. |
SuccessPublicFolder | Long | Public folder of successful jobs. |
MissedPublicFolder | Long | Public folder of missed jobs. |
info | Array of InfoLog | See InfoLog. |
new | Array of FileLog | See FileLog. |
upd | Array of FileLog | See FileLog. |
pmt | Array of FileLog | See FileLog. |
del | Array of FileLog | See FileLog. |
mov | Array of MoveLog | See MoveLog. |
cpy | Array of FileLog | See FileLog. |
DedupeEnabled | Boolean | Whether deduplication is enabled or not. |
DedupeOriginalSize | Long | Size of deduplication. |
DedupeSaving | Long | Difference between the original size of dedupe and current dedupe size. |
InfoLog
Key | Type | Description |
---|---|---|
Type | String | Type of log. |
LogType | String | Type of log |
Timestamp | String | In yyyy/MM/dd HH:mm:ss format. |
Message | String | Description of log. |
FileLog
Key | Type | Description |
---|---|---|
Type | String | Type of log. |
LastModified | String | In yyyy/MM/dd HH:mm:ss format. |
Name | String | Name of the log. |
FileSize | Long | Size of files. |
UnzipFilesSize | Long | Size of unzipped files. |
Ratio | String | Ratio of files. |
MoveLog
Key | Type | Description |
---|---|---|
Type | String | Type of log. |
LastModified | String | In yyyy/MM/dd HH:mm:ss format. |
FromFile | String | Source file. |
ToFile | String | Destination file. |
FileSize | Long | Size of files. |
UnzipFilesSize | Long | Size of unzipped files. |
Ratio | String | Ratio of files. |
Example
INPUT
{
"SysUser":"system",
"SysPwd":"system1",
"LoginName":"obm",
"Owner":"",
"BackupSetID":"1692320086130",
"DestinationID":"-169224967005",
"BackupJobID":"2024-08-23-10-00-36",
"Cdp":"false"
}
OUTPUT
{
"Status":"OK",
"Data":{
"ID":"2024-06-26-13-24-35",
"FromIp":"10.3.121.64",
"SuccessDatabase":"",
"MissedDatabase":"",
"SuccessPublicFolder":"",
"MissedPublicFolder":"",
"Logs":[
{
"Type":"start",
"LogType":"start",
"Timestamp":"2024/06/26 13:24:37",
"Message":"Start [AhsayOBM v 9.11.0.0]"
},
{
"Type":"info",
"LogType":"info",
"Timestamp":"2024/06/26 13:24:38",
"Message":"Using Temporary Directory C:\\Users\\Administrator\\temp\\1687755057644\\OBS@1687755083984"
},
{
"Type":"info",
"LogType":"info",
"Timestamp":"2024/06/26 13:24:40",
"Message":"Index file does not exist in the destination backup job folder \"null\""
}
],
"NumOfNewFiles":1169,
"NumOfNewDirCount":24,
"NumOfNewLinkDirCount":3,
"NumOfNewLinkFileCount":0,
"NumOfDeletedDirCount":0,
"NumOfDeletedLinkFileCount":0,
"TotalNewFilesSize":6827033,
"TotalUnzipNewFilesSize":10268480,
"NewFilesZipRatio":"33%",
"NumOfUpdatedFiles":0,
"TotalUpdatedFilesSize":0,
"TotalUnzipUpdatedFilesSize":0,
"UpdatedFilesZipRatio":"0%",
"NumOfUpdatedPermissionFiles":0,
"TotalUpdatedPermissionFilesSize":0,
"TotalUnzipUpdatedPermissionFilesSize":0,
"UpdatedPermissionFilesZipRatio":"0%",
"NumOfDeletedFiles":0,
"TotalDeletedFilesSize":0,
"TotalUnzipDeletedFilesSize":0,
"DeletedFilesZipRatio":"0%",
"NumOfMovedFiles":0,
"TotalMovedFilesSize":0,
"TotalUnzipMovedFilesSize":0,
"MovedFilesZipRatio":"05",
"NumOfCopiedFiles":0,
"TotalCopiedSize":0,
"TotalUnzipCopiedFilesSize":0,
"CopiedFilesZipRatio":"0%",
"StartTime":"2024-06-26 13:24:37",
"EndTime":"2024-06-26 13:24:58",
"BackupJobStatus":"BS_STOP_SUCCESS",
"NumOfWarnEntries":0,
"NumOfErrorEntries":0,
"DedupeEnabled":true,
"DedupeOriginalSize":2384,
"DedupeSaving":0
}
}
GetBackupJobReportSummary
This API can be used to retrieve a summary report of a backup job.
The settings can be found on the AhsayCBS web console at:
- Monitoring > Backup / Restore Logs > Backup Jobs
URL
https://CBS.EXAMPLE.COM/obs/api/json/GetBackupJobReportSummary.do
Available Since Version: 9.7
Parameters
Key | Type | Description |
---|---|---|
SysUser | String | Username of an AhsayCBS System User with Admin or API role. |
SysPwd | String | Password matching SysUser. |
LoginName | String | Username of the backup user. |
Owner | String | Owner of the backup user. |
BackupSetID | String | ID of the backup set. Obtainable by calling the GetBackupSet API. |
DestinationID | String | For backup run by AhsayOBM v6 or older, this parameter can be omitted. For backup run by AhsayOBM v7, this parameter must be provided to get correct result. |
BackupJobID | String | ID of the backup job. Obtainable by calling the GetBackupSet API. |
Cdp | Boolean | True / False |
Return Values
Key | Type | Description |
---|---|---|
Status | String | "OK" or "Error" |
Data | String | See JSON Objects |
Message | String | Error message, it only appears if status displays "Error". |
ExptType | String | The type of exception, it appears only if status is "Error". |
JSON Objects
Report
Key | Type | Description |
---|---|---|
ID | String | ID of the report. |
StartTime | String | In yyyy-MM-dd HH:mm:ss format. |
EndTime | String | In yyyy-MM-dd HH:mm:ss format. |
BackupJobStatus | String | Job status. BS_STOP_SUCCESS if successful backup. Error varies if the backup failed. |
NumOfWarnEntries | Long | Number of warning entries. |
NumOfErrorEntries | Long | Number of error entries. |
NumOfNewFiles | Long | Number of new files. |
TotalNewFilesSize | Long | Total size of new files. |
NumOfUpdatedFiles | Long | Number of updated files. |
TotalUpdatedFilesSize | Long | Total size of updated files. |
NumOfDeletedFiles | Long | Number of deleted files. |
TotalDeletedFilesSize | Long | Total size of deleted files. |
NumOfMovedFiles | Long | Number of moved files. |
TotalMovedFilesSize | Long | Total size of moved files. |
NumOfUpdatedPermissionFiles | Long | Number of updated permission files. |
TotalUpdatedPermissionFilesSize | Long | Total size of updated permission files. |
SuccessDatabase | Long | This key does not exist in VM backup. |
MissedDatabase | Long | This key does not exist in VM backup. |
SuccessVirtualMachine | Long | This key exists in VM backup. |
MissedVirtualMachine | Long | This key exists in VM backup. |
SuccessPublicFolder | Long | Public folder of successful jobs. |
MissedPublicFolder | Long | Public folder of missed jobs. |
DedupeEnabled | Boolean | Whether deduplication is enabled or not. |
DedupeOriginalSize | Long | Size of deduplication. |
DedupeSaving | Long | Difference between the original size of dedupe and current dedupe size. |
Example
INPUT
{
"SysUser":"system",
"SysPwd":"system1",
"LoginName":"obm",
"BackupSetID":"1687755057644",
"BackupJobID":"2024-06-26-13-24-35",
"DestinationID":"1687755083984"
}
OUTPUT
{
"Status":"OK",
"Data":{
"TotalCopiedSize":0,
"DedupeEnabled":true,
"DedupeOriginalSize":2384,
"DedupeSaving":0,
"EndTime":"2024-08-23 10:00:59",
"TotalDeletedFilesSize":0,
"NumOfMovedFiles":0,
"SuccessPublicFolder":"",
"TotalUpdatedFilesSize":726,
"TotalUpdatedPermissionFilesSize":0,
"NumOfWarnEntries":0,
"NumOfNewFiles":0,
"NumOfUpdatedFiles":1,
"NumOfCopiedFiles":0,
"ID":"2024-08-23-10-00-36",
"NumOfErrorEntries":0,
"BackupJobStatus":"BS_STOP_SUCCESS",
"TotalNewFilesSize":0,
"MissedDatabase":"",
"NumOfUpdatedPermissionFiles":0,
"SuccessDatabase":"",
"StartTime":"2024-08-23 10:00:37",
"NumOfDeletedFiles":0,
"MissedPublicFolder":"",
"TotalMovedFilesSize":0
}
}
GetRestoreJobReport
This API can be used to retrieve a detailed report of a restore job.
The settings can be found on the AhsayCBS web console at:
- Monitoring > Backup / Restore Logs > Restore Jobs
URL
https://CBS.EXAMPLE.COM/obs/api/json/GetRestoreJobReport.do
Available Since Version: 9.1
Parameters
Key | Type | Description |
---|---|---|
SysUser | String | Username of an AhsayCBS System User with Admin or API role. |
SysPwd | String | Password matching SysUser. |
LoginName | String | Username of the backup user. |
Owner | String | Owner of the backup user. |
BackupSetID | String | ID of the backup set. Obtainable by calling the GetBackupSet API. |
JobID | String | ID of the restore job. Obtainable from the client restore log or in the user how at: %Clientprofile%\.obm\log\%backupset_id%\Restore\YYYY-MM-DD\YYYY-MM-DD-hh-mm-ss.log or %Userhome%\username\pdf\restore\%backupset_id%\YYYY-MM-DD\YYYY-MM-DD-hh-mm-ss.pdf. Where the JobID is YYYY-MM-DD-hh-mm-ss (e.g. file name of the .log / .pdf file). |
Return Values
Key | Type | Description |
---|---|---|
Status | String | "OK" or "Error" |
Data | JSON Object | See JSON Objects. |
Message | String | Error message, it only appears if status displays "Error". |
ExptType | String | The type of exception, it appears only if status is "Error". |
JSON Objects
Report
Key | Type | Description |
---|---|---|
ID | String | ID of the report. |
StartTime | Long | Start time of the restore job. |
EndTime | Long | End time of the restore job. |
FromIp | String | Restore from specified IP address. |
DestinationID | String | ID of the destination. |
Status | String | Status of the restore. Can be one of the following: RESTORE_STOP_SUCCESS_WITH_ERROR, RESTORE_STOP_SUCCESS_WITH_WARNING, RESTORE_STOP_SUCCESS, RESTORE_STOP_BY_USER or RESTORE_STOP_BY_ERROR. |
TotalFileCount | Long | Total number of files restored. |
TotalFileSize | Long | Total size of files restored. |
Logs | Array of Log | Array list of logs. |
Log
Key | Type | Description |
---|---|---|
Type | String | Type of log, can either be file or info. |
StartTime | Long | Start time of the restore job. |
EndTime | Long | End time of the restore job. |
Name | String | Name of the restore job. |
FileSize | Long | Size of the file. |
UncompressedSize | Long | Size of the uncompressed file. |
LastModified | Long | Date of last modification. |
Message | String | This key exists only if "Type" is "info". |
LogType | String | This key exists only if "Type" is "info". |
Timestamp | String | This key exists only if "Type" is "info". In yyyy/MM/dd hh:mm:ss format. |
Example
INPUT
{
"SysUser":"system",
"SysPwd":"system1",
"LoginName":"obm",
"BackupSetID":"1687755057644",
"JobID":""
}
OUTPUT
{
"Status":"OK",
"Data":{
"Status":"RESTORE_STOP_SUCCESS",
"EndTime":"2024-06-26 14:27;08",
"TotalFileCount":0,
"StartTime":"2024-06-26 14:26:59",
"TotalFileSize":0,
"Logs":[
{
"Type":"start"
},
{
"Type":"info",
"Message":"Same file \"C:\\Users\\Administrator\\Desktop\\Help Files\\ACB\\BS_CDP.html\" exists already.",
"LogType":"info",
"Timestamp":"2024/06/26 14:27:03"
},
{
"Type":"info",
"Message":"Same file \”C:\\Users\\Administrator\\Desktop\\Help Files\\ACB\\BS_CDP_Filter.html\” exists already.",
"LogType":"info",
"Timestamp":"2024/06/26 14:27:03"
},
{
"Type":"info",
"Message":"Same file \"C:\\Users\\Administrator\\Desktop\\Help Files\\ACB\\BS_Create_CloudFile_Source.html\" exists already.",
"LogType":"info",
"Timestamp":"2024/06/26 14:27:03"
},
{
"Type":"info",
"Message":"Same file \"C:\\Users\\Administrator\\Desktop\\Help Files\\ACB\\BS_Create_File_Source.html\" exists already.",
"LogType":"info",
"Timestamp":"2024/06/26 14:27:03"
},
{
"Type":"info",
"Message":"Same file \"C:\\Users\\Administrator\\Desktop\\Help Files\\ACB\\BS_Create_IBMDomino_Encryption.html\" exists already.",
"LogType":"info",
"Timestamp":"2024/06/26 14:27:03"
},
{
"Type":"info",
"Message":"Same file \"C:\\Users\\Administrator\\Desktop\\Help Files\\ACB\\BS_Create_IBMDomino_Source.html\" exists already.",
"LogType":"info",
"Timestamp":"2024/06/26 14:27:03"
},
{
"Type":"info",
"Message":"Same file \"C:\\Users\\Administrator\\Desktop\\Help Files\\ACB\\BS_Create_IBMDomino_WinUserAuthen.html\" exists already.",
"LogType":"info",
"Timestamp":"2024/06/26 14:27:03"
},
{
"Type":"info",
"Message":"Same file \"C:\\Users\\Administrator\\Desktop\\Help Files\\ACB\\BS_Create_IBMNotes_Dest.html\" exists already.",
"LogType":"info",
"Timestamp":"2024/06/26 14:27:03"
}
],
"FromIp":"10.3.121.64",
"DestinationID":"1687755083984"
}
}
GetRestoreDrillJobReportSummary
This API can be used to display the summary of specified restore drill job.
The settings can be found on the AhsayCBS web console at:
- Monitoring > Backup / Restore Logs > Restore Drill Jobs
URL
https://CBS.EXAMPLE.COM/obs/api/json/GetRestoreDrillJobReportSummary.do
Available Since Version: 9.1
Parameters
Key | Type | Description |
---|---|---|
SysUser | String | Username of an AhsayCBS System User with Admin or API role. |
SysPwd | String | Password matching SysUser. |
LoginName | String | Username of the backup user. |
JobID | String | ID of the restore drill job in timestamp format (yyyy-MM-dd-HH-mm-ss). Obtainable by calling the ListRestoreDrillJobs API. |
BackupSetID | String | ID of the backup set. Obtainable by calling the ListRestoreDrillJobs API. |
DestinationID | String | ID of the destination. Obtainable by calling the ListRestoreDrillJobs API. |
Return Values
Key | Type | Description |
---|---|---|
Status | String | "OK" or "Error" |
Data | JSON Object | See Data. |
Message | String | Error message, it only appears if status displays "Error". |
ExptType | String | The type of exception, it appears only if status is "Error". |
JSON Objects
Data
Key | Type | Description |
---|---|---|
Status | String | Status of the restore drill job. SUCCESS if restore drill is successful otherwise error message varies if the restore drill failed. |
BackupSetID | String | ID of the backup set. |
DestinationID | String | ID of the destination. |
StartTime | Long | Start time of the restore drill job in millisecond time format. |
EndTime | Long | End time of the restore drill job in millisecond time format. |
LastBackupRun | String | Date and time when last backup was run, in yyyy-MM-dd-HH-mm-ss format. |
RunOnClient | Boolean | Whether backup set is run on client or not. |
TotalChunkSize | Long | Size of total data chunks, in bytes. |
TotalChunkCount | Long | Number of total data chunks. |
ValidChunkSize | Long | Size of data chunks in valid status, in bytes. |
ValidChunkCount | Long | Number of data chunks in valid status. |
CorruptedChunkSize | Long | Size of corrupted data chunks, in bytes. |
CorruptedChunkCount | Long | Number of corrupted data chunks. |
ToBeVerifiedChunkSize | Long | Size of data chunks in unknown status, in bytes. |
ToBeVerifiedChunkCount | Long | Number of data chunks in unknown status. |
LogoPath | String | Path for logo used in PDF reports. |
Footer | String | Footer in PDF reports. |
Examples
Example 1
INPUT
{
"SysUser":"system",
"SysPwd":"system1",
"LoginName":"obm",
"BackupSetID":"1686639360356",
"DestinationID":"1697505829484",
"JobID":"2024-10-17-09-32-47"
}
OUTPUT
{
"Status":"OK",
"Data":{
"Status":"INVALID_DETECTED",
"ValidChunkSize":491185025,
"LogoPath":"D:\\AhsayCBS\\webapps\\cbs\\images\\default.large.gif",
"EndTime":1697506377112,
"LastBackupRun":"2024-10-17-09-24-12",
"StartTime":1697506367000,
"CorruptedChunkCount":120,
"BackupSetID":"1697505782921",
"TotalChunkCount":1913,
"DestinationID":"1697505829484",
"RunOnClient":false,
"ValidChunkCount":1793,
"ToBeVerifiedChunkSize":0,
"CorruptedChunkSize":33432652,
"ToBeVerifiedChunkCount":0,
"Footer":"1999-2024 (C) Ahsay Systems Corporation All rights reserved.",
"TotalChunkSize":524617677
}
}
Example 2: Incorrect Destination ID / Backup Set ID
INPUT
{
"SysUser":"system",
"SysPwd":"system1",
"LoginName":"obm",
"BackupSetID":"1686639360356",
"DestinationID":"xxxx",
"JobID":"2024-10-17-09-32-47"
}
OUTPUT
{
"Status":"Erro",
"Message":"[Error] Restore drill job not found.",
"ExptType":"java.lang.Exception"
}