Skip to main content

Raymii.org Raymii.org Logo

Quis custodiet ipsos custodes?
Home | About | All pages | Cluster Status | RSS Feed

ProxBash - a bash script to manage Proxmox VE

Published: 28-06-2012 | Author: Remy van Elst | Text only version of this article


❗ This post is over eleven years old. It may no longer be up to date. Opinions may have changed.


Proxmox VE is a complete virtualization management solution for servers. You can virtualize even the most demanding application workloads running on Linux and Windows Servers. It is based on the leading Kernel-based Virtual Machine (KVM) hypervisor and OpenVZ, the number one solution for container based virtualization.

Proxmox Website

ProxMox VE is a very nice piece of software to setup a VM host very fast, which also is easy manageable via a webinterface. It supports both OpenVZ and KVM. I use it to manage a few VM's to test stuff on and it works really great.

However, I'm a command line lover, and I thought it would be nice to be able to "Manage" Proxmox VE from a bash shell. And I've written a script to do just that.

proxbash.sh is a bash script to manage your Proxmox VE server.

Check out my other Proxmox/OpenVZ related articles.

Recently I removed all Google Ads from this site due to their invasive tracking, as well as Google Analytics. Please, if you found this content useful, consider a small donation using any of the options below:

I'm developing an open source monitoring app called Leaf Node Monitoring, for windows, linux & android. Go check it out!

Consider sponsoring me on Github. It means the world to me if you show your appreciation and you'll help pay the server costs.

You can also sponsor me by getting a Digital Ocean VPS. With this referral link you'll get $100 credit for 60 days.

Features
  • Add OpenVZ containers
  • Remove OpenVZ containers
  • Start / Stop OpenVZ containers
  • List all OpenVZ containers and KVM virtual machines
  • Shell dropper into OpenVZ containers
  • Command execution in openvz containers

As you can see there is a lot of OpenVZ and not a lot of KVM. Most of the VM's I use are OpenVZ, so for the KVM things you need to use the webinterface.

Download

Click here to download the script

Or use this:

wget https://raymii.org/s/inc/software/proxbash.sh; chmod +x ./proxbash.sh; ./proxbash.sh
Usage

Before you start, edit the script variables:

VAR_PROXMOXHOST="192.168.0.25"    #proxmox server IP
VAR_PROXMOXSSH="22"         #proxmox ssh port
VAR_PROXMOXUSER="root"          #proxmox ssh user
VAR_PROXMOX_NODE="proxmox"      #proxmox cluster node name

and set up passwordless key auth to the proxmox node. If you don't do that, you have to enter the proxmox root password every time.

Also edit the case statement for the templates. Default it has ubuntu 10.04 and 12.04 and centos 5 and 6.

Replace $CTID with an openvz ct id. (like 103, 104)

Create a CT
proxbash.sh createct node-hostname node-password node-template node-ram node-disk node-ip
proxbash.sh createct prod001 supersecret1 ubuntu12 1024 15 172.20.5.48

proxbash.sh createct node-hostname node-password node-template node-ram node- disk node-ip $CTID

Start/Stop a CT
./proxbash.sh startct 
./proxbash.sh startct $CTID   

./proxbash.sh stopct
./proxbash.sh stopct $CTID
Remove a CT
./proxbash.sh deletect
./proxbash.sh deletect $CTID
Shell dropper
./proxbash.sh shelldrop $CTID
Execute commands in CT
./proxbash.sh execinct $CTID "commands you -want -to; execute; in the ../ct" 
List CTs/VMs
./proxbash.sh listcts
./proxbash.sh listvms
Get CT info
./proxbash.sh ctinfo
./proxbash.sh ctinfo $CTID
Notes

If you like it or use it, please leave a comment.

Tags: bash , kvm , openvz , proxmox , proxmox-ve , software , ssh , virtualization