Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ponceto/pve-bulk

Utility to perform bulk actions for Proxmox VE [this repository is a mirror]
https://github.com/ponceto/pve-bulk

Last synced: about 2 months ago
JSON representation

Utility to perform bulk actions for Proxmox VE [this repository is a mirror]

Awesome Lists containing this project

README

        

# BULK ACTIONS FOR PROXMOX VE

## ABSTRACT

`pve-bulk` is a utility script for the [Proxmox VE](https://www.proxmox.com) hypervisor, which is designed to perform some CT/VM bulk actions.

## DESCRIPTION

This script will execute the given action on each container and each virtual machine specified int the command-line.

You can specify the CT list by providing the `--ct-list` command-line option or by setting the `PVE_CT_LIST` environment variable.

You can specify the VM list by providing the `--vm-list` command-line option or by setting the `PVE_VM_LIST` environment variable.

By default, CT/VM lists default to `none`, meaning that no CTs/VMs are selected. You can specify `all`, `running` or `stopped` to pass the list of all, running or stopped CTs/VMs.

You can specify `--all`, `--running` or `--stopped` as a shortcut to set the corresponding value for both `--ct-list` and `--vm-list` options.

## HOWTO

### Install

If you have `make` on your system:

```bash
make install
```

If you don't have `make` on your system:

```bash
./utils/install.sh
```

### Uninstall

If you have `make` on your system:

```bash
make uninstall
```

If you don't have `make` on your system:

```bash
./utils/uninstall.sh
```

### Build Debian package

If you have `make` on your system you can build a debian package:

```bash
make buildpackage
```

Then you can install the resulting debian package on your target PVE node:

```bash
apt install ./pve-bulk_X.X.X-X_amd64.deb
```

## USAGE

```
Usage: pve-bulk [ACTION [PARAMETERS]] [OPTIONS]

Actions:

help
start
shutdown
stop
status
listsnapshot
snapshot
rollback
delsnapshot

Options:

--ct-list={ctid,...} ct list (defaults to 'none'; specify 'all' to select all CTs as with pct list, 'running' to select all running CTs or 'stopped' to select all stopped CTs)
--vm-list={vmid,...} vm list (defaults to 'none'; specify 'all' to select all VMs as with qm list, 'running' to select all running VMs or 'stopped' to select all stopped VMs)
--all set ct-list and vm-list to 'all'
--running set ct-list and vm-list to 'running'
--stopped set ct-list and vm-list to 'stopped'

Special options:

--help display this help and exit
--debug[={yes|no}] enable/disable the debug mode

Environment variables:

PVE_CT_MANAGER ct manager (defaults to pct)
PVE_CT_LIST ct list (defaults to pct list)
PVE_VM_MANAGER vm manager (defaults to qm)
PVE_VM_LIST vm list (defaults to qm list)

```

## EXAMPLES

Create the snapshot named `STABLE` on each CT/VM:

```bash
pve-bulk snapshot STABLE --all
```

Rollback the snapshot named `STABLE` on VM 1101 and 1102 but not on CT:

```bash
pve-bulk rollback STABLE --vm-list=1101,1102
```

Delete the snapshot named `STABLE` on each CT but not on VM:

```bash
pve-bulk delsnapshot STABLE --ct-list=all
```

Shutdown all running VMs:

```bash
pve-bulk shutdown --vm-list=running
```

Stop all running VMs/CTs:

```bash
pve-bulk stop --running
```

## LICENSE

`pve-bulk` is released under the terms of the GNU General Public License v2.

```
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see
```

Please read the `COPYING.md` file for more informations.