Skip to main content

CLI Interface for PPDM

Project description

rjcli for Dell EMC PowerProtect Data Manager

A command line interface developed for Dell EMC Power Protect Data Manager (PPDM). PPDM is a Dell EMC's modern data center backup and recovery software which is developed based on microservices architecture. It has a user friendly and modern interface to configure, manage and monitor backups. PPDM has a RestAPI for the customers to integrate backups into their DevOps pipeline or for other automation purpose. I have developed this CLI to provide some of the funcitionalies through a command line for the customers who wish to use CLI.

This CLI has features like to list activities, storage, policies, assets and also will be able to retry failed jobs. This is a version 1.0 CLI, i will be adding more features in the future.

Getting Started

Windows and Linux using Python3 and Pip.

rjcli package is available in Python Package Index (PyPi) or download the sourcecode from this repo and install it using setup.py

Python >3.5 and pip are prerequesites, please install them before installing this package.

pip install rjcli

OR

If you do not want to install Python and want an executable binary, then download the executable from Windows folder.

Download rjcli.exe from Windows Exe folder and execute it

Once installed execute a command 'rjcli' and login to PPDM!

Usage

Connect to the PPDM with either hostname or IP. The following are the commands and options available.

login

show --help
show --<option> --help

show --jobs summary --period <1day-ago | 1week-ago>
show --jobs successful --period <1day-ago | 1week-ago>
show --jobs failed --period <1day-ago | 1week-ago>
show --jobs all --period <1day-ago | 1week-ago>
show --storage details
show --asset all
show --asset summary
show --asset <key-word>
show --policies all
show --policies <key-word>

backup --client <name>
backup --retry ALL-FAILED --period <1day-ago | 1week-ago>

monitor --activityid <activity-id>
monitor --jobs running

report --backupsize <clientname> or <keyword>
report --backupsize all

Example Output

dellemc-ppdm-cli > show --jobs successful --period 1day-ago
+---------------+-----------+------------+--------------------------+
| Activity Name | Job Type  | Job Status |        Start Time        |
+---------------+-----------+------------+--------------------------+
|  PLC1-VMware  |    JOB    |     OK     | 2020-06-01T07:00:00.885Z |
|  PLC1-VMware  |    JOB    |     OK     | 2020-06-01T07:00:00.772Z |
|  PLC1-VMware  |    JOB    |     OK     | 2020-06-01T07:00:00.661Z |
| PLC-VMware-2  |    JOB    |     OK     | 2020-06-01T07:00:00.628Z |
|  PLC1-VMware  |    JOB    |     OK     | 2020-06-01T07:00:00.513Z |
| PLC-VMware-2  |    JOB    |     OK     | 2020-06-01T07:00:00.465Z |
| PLC-VMware-2  | JOB_GROUP |     OK     | 2020-06-01T07:00:00.429Z |
|  PLC1-VMware  |    JOB    |     OK     | 2020-06-01T07:00:00.383Z |
|  PLC1-VMware  | JOB_GROUP |     OK     | 2020-06-01T07:00:00.344Z |
|  PLC1-VMware  |    JOB    |     OK     | 2020-06-01T06:00:01.070Z |
|  PLC1-VMware  |    JOB    |     OK     | 2020-06-01T06:00:00.891Z |
|  PLC1-VMware  |    JOB    |     OK     | 2020-06-01T06:00:00.775Z |
|  PLC1-VMware  |    JOB    |     OK     | 2020-06-01T06:00:00.629Z |
| PLC-VMware-2  |    JOB    |     OK     | 2020-06-01T06:00:00.560Z |
|  PLC1-VMware  |    JOB    |     OK     | 2020-06-01T06:00:00.448Z |


dellemc-ppdm-cli > show --policies all
+--------------+------------------------+--------+-----------+----------------------+
| Policy Name  |      Policy Type       | Status | Frequency |    Next Schedule     |
+--------------+------------------------+--------+-----------+----------------------+
|  BackupAtl   | VMWARE_VIRTUAL_MACHINE | ACTIVE |  MONTHLY  | 2020-06-09T03:00:00Z |
|   k8s-plc    |       KUBERNETES       | ACTIVE |  HOURLY   | 2020-06-09T03:00:00Z |
|   k8_test    |       KUBERNETES       | ACTIVE |  HOURLY   | 2020-06-08T17:43:00Z |
|   fs_test    |      FILE_SYSTEM       | ACTIVE |  HOURLY   | 2020-06-08T18:23:00Z |
|    oracle    |    ORACLE_DATABASE     | ACTIVE |  HOURLY   | 2020-06-09T12:00:00Z |
|    Test1     | VMWARE_VIRTUAL_MACHINE | ACTIVE |  HOURLY   | 2020-06-09T02:00:00Z |
+--------------+------------------------+--------+-----------+----------------------+


dellemc-ppdm-cli > show --asset summary
+------------------------+-------------+
|       Asset Type       | Asset Count |
+------------------------+-------------+
| VMWARE_VIRTUAL_MACHINE |     654     |
|       KUBERNETES       |     14      |
|      FILE_SYSTEM       |      1      |
+------------------------+-------------+


dellemc-ppdm-cli > report --backupsize all
-----------------------------------------------------
This reports shows the single largest backup size
-----------------------------------------------------
Total number of assets:  125
Total Largest Backup (GB): 700.00


dellemc-ppdm-cli > show --storage details
---------------------------------------------------------
Data Domain Name: ddve-str-01.domain.local
DD Type:          DATA_DOMAIN_SYSTEM
DD Model:         DD VE Version 4.0
DD Serial Number: xxxxxxxxxxxxxxxx
DDOS Version:     6.2.0.10-615548
Total Size (GB):  351.01
Used Size (GB):   128.34
Dedupe Factor(x): 88.5
Used Percentage:  36.00
Last Status:      DETECTED
Last Discovered:  2020-06-09T11:16:02.109Z

Contributions

If you're interested in contributing to this project, thank you in advance! I will help you with the documention to install PPDM, its a virtual appliance, easy to set up.

Author

License

This project is licensed under the MIT License - see the LICENSE file for details

A Big Thankyou

  • Peter Marelas helped me with suggestions and he has inspired me to develop this.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rjcli-1.0.4.tar.gz (10.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rjcli-1.0.4-py3-none-any.whl (9.8 kB view details)

Uploaded Python 3

File details

Details for the file rjcli-1.0.4.tar.gz.

File metadata

  • Download URL: rjcli-1.0.4.tar.gz
  • Upload date:
  • Size: 10.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.1

File hashes

Hashes for rjcli-1.0.4.tar.gz
Algorithm Hash digest
SHA256 a9e31fdd837054df70cfe3c1dd9e9a77f3b5435ff618d37311fcad7afc61be87
MD5 d6550f8776677c6839e04abd54109e45
BLAKE2b-256 197548766328b17cb48b1bcf3b69a5dafae8bb5e2eea0649b8536baf87b956a5

See more details on using hashes here.

File details

Details for the file rjcli-1.0.4-py3-none-any.whl.

File metadata

  • Download URL: rjcli-1.0.4-py3-none-any.whl
  • Upload date:
  • Size: 9.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.1

File hashes

Hashes for rjcli-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 0957788f1ba98733afbf9a860a752aef0b5ee4822770624f12e98f2ac719a2a7
MD5 4a6e5283959bcedee1cafad916ec15d9
BLAKE2b-256 594ba3c574218cfb47c8151328e98123ecb8ae366fa70f7162ed328bcd4bd1fa

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page