rsync support for backups and migrations (over ssh)

In issue #31970 I briefly mentioned that it would be awesome to directly backup/restore (migrate) vhosts via ssh - a brief search shows that this was also raised a few times on the forum, so this is just a summary of these discussions, along with the corresponding links: you could also explore using "rsync" for backing up one drive to another. Rsync is good at copying files, and only copying files that changed. Webmin/Virtualmin doesn't provide a front-end for that though, you'd have to build a script to handle that from the command line. Rsync isn't natively supported by Virtualmin, but that doesn't mean that you can't generate rsync backups on your own.

You could use Virtualmin to define a set of backups that don't include home directory data.

Then just use rsync to backup your home directory data.

-Eric rsync would be a good option. Jamie just added incremental backups (still using tar, but with the Gnu tar incremental features enabled and handling of cleaning up old backup files), which we'll want to have in the field for a while before poking at again. ;-)

But, yes, I anticipate rsync will be added in the coming months. It's only problem is that it won't work to an S3 target, which is becoming one of our most popular backup destinations. I'm backing up all my Virtualmin domains nightly with a scheduled back, and i want to rsync them to another server after that has completed.

The need for a web-based rsync frontend was also discussed on WHT a while back, and it would seem like a useful extension to webmin's clustering support:

Being able to easily manage rsync jobs across multiple machines would make webmin even more unique and useful to professional users.

Also, there have been quite a few discussions on automatically setting up "hot-spare" configurations via rsync, so this would be another reason why directly supporting rsync in webmin would be useful.



Rsync might be nice as a migration or syncing method - but since backups are currently tar.gz files, I don't think it would fit in well with our current backup strategy. The main benefit I see from rsync is that it can limit copies to only files that have changed, but Virtualmin already supports incremental tar backups so that every backup doesn't necessarily need to include the full home directory contents of each domain.

right, but it seems that "live backups/replications" have been previously requested and discussed here - also, hosting providers will often provide rsync access to their backup storage via ssh - so adding some way to leverage such backup space would be kinda useful, even if it should end up being only available to "Pro" customiers..

The one case where I think rsync would be most valuable is in keeping a site in sync across multiple systems. Currently Cloudmin offers this feature, but it works by doing repeated backups and restores, which isn't too efficient.

I have never used cloudmin (yet), so I am not aware of its features - but I think it was Eric who mentioned on the forum that cloudmin also has support for migrating vhosts between cloudmin instances , and he said that he was considering to generalize the feature and also provide it as part of virtualmin - the point being that rsync support would not just be useful at the highest layer (i.e. cloudmin) but also in the lower layers, i.e. webmin/virtualmin.

In combination with webmin's support for clustering, this could be really powerful and help automate quite a few tedious tasks.

Regarding multisite-replication (i.e. for clustering or hot-spares), that seems like another frequently discussed use-case here, so you're probably right that it's pretty popular.

I would just suggest to introduce this is as a lower-level feature that can be leveraged by the high-level layers, like virtualmin and cloudmin.

Having a dedicated "rsync" module in webmin available would be a good start, and could help pave the way towards custom wrappers for virtualmin/cloudmin.

So, if there's going to be rsync support added in some shape or form, I would ask for it to be provided as a customizable "building block", so that we can use it for other purposes, even if you guys should decide not to implement these things yourself.

The one case where I think rsync would be most valuable is in keeping a site in sync across multiple systems.

If you think about it, that could actually help supporting "live" backups and migrations. In other words, if webmin/virtualmin is able to use rsync to sync a website across multiple systems, it could just as well use the same feature to do offsite backups/restoring or migrations.

Whenever people are talking about "migrating" things, they're primarily interested in automation and reducing downtime to an absolute minimum - rsync support could help address these requirements.

updated in 2005 ? What's the license here, can these by taken, merged/updated and generalized to support the use-cases discussed on the forum/tracker ?

PS: Thanks for the pointer!