Skip to content

ponceto/pve-bulk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BULK ACTIONS FOR PROXMOX VE

ABSTRACT

pve-bulk is a utility script for the Proxmox VE 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:

make install

If you don't have make on your system:

./utils/install.sh

Uninstall

If you have make on your system:

make uninstall

If you don't have make on your system:

./utils/uninstall.sh

Build Debian package

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

make buildpackage

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

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 <snapname>
    rollback <snapname>
    delsnapshot <snapname>

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:

pve-bulk snapshot STABLE --all

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

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

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

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

Shutdown all running VMs:

pve-bulk shutdown --vm-list=running

Stop all running VMs/CTs:

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 <http://www.gnu.org/licenses/>

Please read the COPYING.md file for more informations.