[v9] Report (API)
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"
}