By Virag Patel and Sreeram Vasudevan
Taking backup of ISAM infrastructure periodically is very essential. Many times, customer introduces new configuration changes without taking any proper backup and at times this approach leads to service outages. They don’t have a proper infrastructure in place to rollback the changes, due to missing backup.
ISAM appliance stores the configuration into snapshots. It is good approach to generate snapshot, download it and keep it externally. ISAM snapshots can be re-applied to restore the old configuration on ISAM appliance. This backup process can be automated REST APIs.
The REST APIs provided by ISAM facilitates backup process.
- Get list of existing snapshots
- Create new snapshot
- Export/Download snapshot
- Delete snapshot to free up diskspace
- Apply the snapshot
- Get list of existing snapshots
A GET Request on
https://{appliance_hostname}/snapshots
Retrieving information about all valid snapshots
cURL:
curl -k -s -u admin: p@ssw0rd -X GET https://isam_appliance/snapshots -H 'Accept: application/json' -H 'Content-Type: application/json'
This produces a JSON output as shown with all the snapshot details
[{"filename":"isam_9.0.6.0_20190913-155905.647596_isam1.snapshot","index":0,"comment":"13th Sept - snapshot","id":"37185333b0d132475940963a962473ea0e54588cecfa1a47cad4b987df984f47"}, {"filename":"isam_9.0.6.0_20190211-100447.105936_unconfigured.snapshot","index":1,"comment":"Factory defaults","id":"988fe2c0b8dba9846db1504d2b49f68f0ab26d391ff81f67d0c7dc0901551c9f"}, {"filename":"isam_9.0.5.0_20180702-110840.155527_unconfigured.snapshot","index":2,"comment":"Factory defaults","id":"949651533c0496a7c421b8a7e9aeacca474f22b342e2f4a1c65b20ebc768e7a0"}]
- Create a new snapshot
A POST Request on
https://{appliance_hostname}/snapshots
creates new snapshot on ISAM appliance
cURL:
curl -k -s -u admin:p@ssw0rd
-X POST https://isam_appliance/snapshots
-H 'Accept: application/json'
-H 'Content-Type: application/json' --data-ascii '{"comment”: “backup taken on Friday 13th Sept"}'
This produces a JSON output as shown with the results.
{"result":"success","id":"bf5582009eeba55eb4e3838519a0214fe903d15eda04ff1ab8031d6a6c548f9b","message":"The snapshot was added."}
- Export/Download snapshot external to ISAM appliance
A GET Request on
https://{appliance_hostname}/snapshots/download?record_ids=snapshot_id_1,snapshot_id_2,..
download the snapshot
cURL:
curl -k -s -u admin:p@ssw0rd -X GET https://isam_appliance/snapshots/download?record_ids=bf5582009eeba55eb4e3838519a0214fe903d15eda04ff1ab8031d6a6c548f9b -H 'Accept: application/json' -H 'Content-Type: application/json' > isam_9.0.6.0_20190913-160714.517045_isam1.snapshot
Downloads the snapshot to local disk.
- Delete snapshot to free up diskspace on ISAM appliance
A DELETE Request on
https://{appliance_hostname}/snapshots/{snapshot_id}
deletes the snapshot
cURL:
curl -k -s -u admin:p@ssw0rd -X DELETE https://isam_appliance/snapshots/bf5582009eeba55eb4e3838519a0214fe903d15eda04ff1ab8031d6a6c548f9b -H 'Accept: application/json' -H 'Content-Type: application/json'
- Apply snapshot
A POST Request on
https://{appliance_hostname}/snapshots/apply/{snapshot_id}
applies snapshot to ISAM appliance
cURL:
curl -k -s -u admin:p@ssw0rd -X POST https://isam_appliance/snapshots/bf5582009eeba55eb4e3838519a0214fe903d15eda04ff1ab8031d6a6c548f9b -H 'Accept: application/json' -H 'Content-Type: multipart/form-data'
References
[1] IBM Knowledge Centre ISAM v9.0.7