I know it has taken me awhile, but I finally found some time over the last week and half to go through my entire backlog of bugs, issues, feature requests, etc. and have updated both my ghettoVCB and ghettoVCB-restore script. Here is a quick summary of the new enhancements in this release:

  • ghettoVCB & ghettoVCB-restore supports ESXi 5.1
    • This was a fairly simple change by modifying the version number in the script which I noticed several users sharing the details in the VMTN forums. However, there were a few changes with the release of ESXi 5.1 that caused some initial issues which now have all been resolved in this release. For some of those details, take a look at the “Fixes” section of the change log.
  • Support for individual VM backup via command-line and added new -m flag
    • This has been requested a few times and the idea is if you have a single VM to backup, it was extra work to create a file containing the name of the VM. So now you can specify a single VM backup via the command-line
  • Support VM(s) with existing snapshots and added new configuration variable called ALLOW_VMS_WITH_SNAPSHOTS_TO_BE_BACKEDUP 
    •  This is probably the most requested feature I have seen and as many of you know my personal stance on snapshots, though they can be extremely useful they can also be dangerous when miss-used. I have seen too many VMTN posts about admins finding out they have a 300-500GB snapshot they need to commit and that they are also out of space/etc. However, I decided to support this use case as it was recently brought to my attention that some of the commercial backup solutions that support VMs with existing snapshots just consolidate all snapshots prior to backup. If this feature is enabled, it will consolidate ALL existing snapshots on the VM prior to running a backup.
  • Support multiple running instances of ghettoVCB running and added a new -w flag
    • Today, you can only run a single instance of ghettoVCB, there have been several requests to support running multiple instance and this was a feature submitted which allows you to specify a separate working directory for ghettoVCB. Users should try to minimize the number of instances running as there is a limited amount of resources in the ESXi Shell which can potentially impact your host. Note, this is an experimental feature.
  • Configure VM shutdown/startup order and added two new configuration variables called VM_SHUTDOWN_ORDER and VM_STARTUP_ORDER 
    • This was another submitted feature which allows you to specify the order if which VMs should be shutdown and started back up for which have a dependency between each other. 
  • Support changing custom VM name during restore
    • ghettoVCB-restore has been updated to allow for an optional 4th parameter in the restore file for users to specify an alternate VM name for the restored VM. This can be useful if want to restore the VM alongside the original VM for backup validation purposes (which everyone should do) and by disconnecting the network, you would not be impacting your existing VM while you perform your verification.
  •  Documentation updates

I highly recommend you take a look at the change log for more details (or Github diff more exact changes in the code) as well as the ghettoVCB documentation which has been updated for all the latest changes including feedback from the community. I would also like to thank the ghettoVCB/ghettoVCB-restore community for the feedback and comments you have provided as well as the following users: daviderickson, sethsp, vlooygvalkov, jonmchan, fryrpc and aspineux who have all submitted patches for bug fixes and feature requests via the ghettoVCB github repository

I hope you enjoy these two releases and if you run into any troubles, please post in the ghettoVCB VMTN group forum.

11 thoughts on “New Updates for ghettoVCB & ghettoVCB-restore

  1. VCB has produced a back up system that could help the users restore any file or document they’ve left on the previous unit they’ve got. Good news to those who always update there system, the recovering process will be a lot more easier.

  2. Hi.

    If the name of the machine contains “_”, i watch crash of ghettoVCB-restore.sh script

    Alexey Cherepanov

  3. Hi, it would be nice if the ghetttoVCB.sh script would automaticaly produce a restore template file (for each vm?). That way a restore would become really easy.
    Perhaps even support non persistent nfs storage for the resore?

  4. Is this confirmed working on 5.5? We depend upon cron and ghettovcb“ we run 4.1 esxi.. I hear crond is gone as it’s not migrated as are any rc.local scripts, but I’m sure there’s some work around.

  5. Tested with ESXi 5.5. You need to replace one digit in ghettoVCB.sh to successfully run your backup. Just edit ghettoVCB.sh and search for “5.0.0|5.1.0″. Replace “1″ with “5″ and save ghettoVCB.sh. Without editing you will see “You’re not running ESX(i) 3.5, 4.x, 5.x!” error.

    Good luck

  6. Hola MrSerge!!!!!

    Thanks a lot! Now It does work!! I can run on Esxi 5.5 only need replace 5.0 to 5.5.

    Muchas gracias!

    Es como dice My Serge, solo necesitas abrir el archivo ghettoVCB.sh y cambiar la version de 5.0 a 5.5.

  7. Thanks for the (many) awesome scripts! They have come in handy more than a few times.
    I was having issues using netcat and telnet to send mail (pipelining) to my postfix server. I didn’t want to allow less secure connections to my mail server, so I decided I could utilize ssh. Not sure if it was a “great” solution, but I created an SSH RSA key (/usr/lib/vmware/openssh/bin/ssh-keygen) without a password and setup passwordless logins FROM my esxi to another linux host and modified your script:
    Comment out the lines (2) that starts with “${NC_BIN}” -i “${EMAIL_DELAY“ and add this line in both locations
    /bin/ssh -i /etc/ssh/id_rsa_new [email protected] ‘cat - >> /tmp/$$ && sendmail [email protected] < /tmp/$$ && rm -f /tmp/$$' > /vmfs/volumes/datastore1/BACKUP/email_error.log 2>&1

    Now I get mail when my backups are done!

  8. Thx for this great piece of software.

    is it possible to somehow solve:

    503 5.5.0 : Client host rejected: Improper use of SMTP command pipelining
    221 2.7.0 Error: I can break rules, too. Goodbye. ?

    postfix doesn’t like the netcat ghetto’s use and it thinks that is spam.


Thanks for the comment!