XSIBackup is a program that runs in the ESXi OS shell and allows to backup Virtual Machines and the VMWare ESXi configuration. It is highly flexible and at the same time, due to its command line nature, it's easy to integrate with wider scope systems, thus it's not only a program in the classical meaning of the word, but can also be considered a framework up to some degree.
XSIBackup has been designed with the needs of an ESXi Sys Admin in mind. It is flexible, resilient, has almost no footprint and is one of the fastest tools available to backup VMWare Environments. It is compounded by scripts that hold the main high level logic and which you are allowed to tweak to your needs, plus a set of binaries that are meant to do the heavy work at the time to copy hundreds or thousands of gigabytes. XSIBackup is so lightweight, that will backup your VMs while your users are connected to your resources and they will notice nothing.
XSIBackup functioning is simple, it adheres to common Linux command line naming conventions and usage. You simply call it from the command line with a set of arguments as described in the Man Page here: https://33hops.com/xsibackup-help-man-page.html
Those arguments, as you may already imagine, are the fundamental pieces of information that allow to identify the Virtual Machines to copy, where to copy them and how to do that work, namely:
1/ The place where to copy them --backup-point, which can be a path in the local server or an IP:port:/path on a remote server.
2/ The backup program to use --backup-prog. Depending on what your goals are, you may choose among Vmkfstools, XSITools, OneDiff, XSIDiff or Borg.
3/ Other arguments will allow you to choose the Virtual Machines to backup, whether to quiesce the guest OS or not, etc...
XSIBackup is installed to a folder in your ESXi server /vmfs/volumes/datastore1/xsi-dir by default. It will also add an entry in your /etc/rc.local.d/local.sh file if you install the crontab.
It is constitued by the main xsibackup file, which holds most of the higher level logic, an src folder that contains additional modules and functions, the bin folders, which contains the binaries that will power the data transfer operations, a conf folder containing the configuration files, such as xsiopts (contains global variables), smtpsrvs (contains the smtp server information), the crontabs and the var folder which contains the logs.
Installing XSIBackup is as simple as copying or extracting the contains of the .zip package to an install dir and setting permissions on the xsibackup file itself as well as the src and bin folders.
chmod -R 0700 xsibackup src bin
You can optionally install the crontab by running
./xsibackup --install-cron
Uninstalling XSIBackup is very simple, just remove the installation folder and any eventual lines in /etc/rc.local.d/local.sh and/or the root crontab /var/spool/cron/crontabs/root. The below command will uninstall XSIBackup in one action.
rm -rf "/vmfs/volumes/datastore1/xsi-dir"; \
chmod 0700 /var/spool/cron/crontabs/root; \
sed -i '/-dir\/jobs/d' /var/spool/cron/crontabs/root; \
sed -i '/cron-init/d' /etc/rc.local.d/local.sh
XSIBackup is offered as two editions:
A/ XSIBackup-Free: which is the right choice if you just want to backup your home lab VMs or you have limited needs.
B/ XSIBACKUP-PRO: which is an advanced version of the software that features checksum certification, deduplicated and differential backups to other ESXi and Linux servers, a Graphical User Interface, enterprise licenseing, e-mail support, etc...