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
rclonesupport for Amazon S3, Dropbox, and Google Drive. It can even import existing remotes you already have inrclone.conf. -
Safe Retention: It only ever deletes its own timestamped backup sets. No dangerous
rm -rfcommands. -
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
-
zipandunzipinstalled on the host -
Perl
JSON::PP(ships natively with Perl 5.14+) -
Optional:
rclone(for cloud uploads) andgpg(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
-
Grab the
filebackup.wbm.gzfile from the Releases page. -
Log into your panel and navigate to Webmin > Webmin Configuration > Webmin Modules.
-
Upload the package and click Install.
-
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.