Virtualmin File Backup - A hardened, auto-discovering backup module

Hi everyone,

Following up on the Docker module I shared recently, here is the next one from the batch of third-party modules I’ve been working on: Virtualmin File Backup.

I built this because I got tired of relying on standard bash scripts—like running a zip -r loop over /home/*/public_htmlcombined with a find ... -exec rm -rf for cleanup. Those scripts are fragile, they run as root, they often leak cloud credentials into ps, and they can wipe the wrong directory if something goes wrong.

I wanted a secure, point-and-click UI directly inside Virtualmin that handles everything safely.

What it does: The module automatically discovers every public_html directory across your server (it reads Virtualmin layouts, plus cPanel/Plesk if you have legacy structures migrated over) and creates a clean, individual .zip archive named exactly after the domain or sub-domain.

Main Features:

  • Auto-Discovery: No manual typing of paths. It finds your web-roots and gives you a checklist.

  • One Zip per Domain: Each site gets its own archive (e.g., example.com.zip, shop.example.com.zip) stored in a timestamped folder.

  • Cloud Uploads: Built-in rclone support for Amazon S3, Dropbox, and Google Drive. It can even import existing remotes you already have in rclone.conf.

  • Safe Retention: It only ever deletes its own timestamped backup sets. No dangerous rm -rf commands.

  • Security First: Passwords and cloud tokens are never passed on the command line where they can be sniffed. It also supports optional GnuPG AES-256 encryption at rest.

  • Scheduling: Set up “all web-roots” cron jobs directly from the UI, so new Virtualmin domains you add later are backed up automatically.

Requirements:

  • Webmin or Virtualmin

  • zip and unzip installed on the host

  • Perl JSON::PP (ships natively with Perl 5.14+)

  • Optional: rclone (for cloud uploads) and gpg (for encryption)

Installation: You can review the source and download the .wbm.gz package from my GitHub here:GitHub - MrZaKaRiA/Virtualmin-File-Backup: Full Virtualmin Webmin Public_html Backup · GitHub

  1. Grab the filebackup.wbm.gz file from the Releases page.

  2. Log into your panel and navigate to Webmin > Webmin Configuration > Webmin Modules.

  3. Upload the package and click Install.

  4. You’ll find it under Servers > File Backup.

Just like the Docker module, this is fully open-source (GPLv2). Let me know what you think! If you spot any bugs or have ideas for improvements, please feel free to drop an issue on the GitHub repo.

This topic was automatically closed 20 days after the last reply. New replies are no longer allowed.