Custom scripts to backup to named pipe or stdout (for dbump, fsdump)

Hello

Maybe this can alleviate a bit of the development load.
The idea would be to have something like a “custom format” tab
This could be used to backup things like a database dump, or a filesystem dump.
Maybe this is the easiest way to add support for a linux image backup

Files would be saved as something very spartiate like sda1-date.zfs.raw
Urbackup would handle the transfert via it s own protocol, and the backup expiration via it s build in logic.
Users would write/provides the backup logic via the backup scripts.
It would be better than pre-post files, in the sense that using pipes our stdout, there s no need for additional temp space.
Eventually users would start to share their scripts on the forums and maybe a more polished form of them could emerge as official plugins included by default in urbackup.

The way i imagine it, there would be a few input tabs to
Specify a custom format name like mysqldump pgdump zfsend lvm_lvdump lvm_pvdump mbr_dump gpt_dump
Specify a destination/source like stdout or named pipe or maybe temp file
The script itself as a textbox, maybe add a file input box to upload an additional binary to the server.
Maybe only allow full backup
Maybe allow to specify a different script to run a differential backup
Do the same thing for restore
Maybe add a checkbox to allow to restore to a raw device like /dev/sda
Maybe add a check box to know if the backup is considered as file or image backup for urbackup status
Maybe allow a script to allow to browse the custom backups, and allow to upload a binary file to do so

Something like this is already supported. For examples see https://github.com/uroni/urbackup_backend/tree/dev/urbackupclient/backup_scripts

For a new script make list(.bat) list the new script, optionally with a specific file name. Stdout gets backed up. Stderr goes to the log.

You might want to set the size parameter in the list script, otherwise it won’t be able to show the progress correctly.

Thanks, On the transfert process, that’s what i was looking for.

On the usability side because this is purely client side there’s a few issues, notably: how to run it separately from standard file backup,
how to assign the script to run to a group,
if i dump an fs and it becomes corrupt and i want to restore it, i would lose the custom script stored on it.
A livecd wouldn’t be able to know that there s a restore script

I understand that it s better than nothing (specifically when things go bad) to be able to ssh to the server, search the file and dd it to the client.

Can i dump (fileless) directly from the client?
I searched for an example of the size parameter, didnt found it, it’s just the estimated size that will be transfered?

Just tested, it s triggered with any backup (full and inc).
For large dataset, it s problematic, i just tried with my zabbix database and it s backuping 24h/24
I wanted to do it with my workstation, that i need to move to a new computer, but i’d have the same problem.

I maybe overedid it with the resquests before, but could it be possible to have the scripts managed as a component?
So that we can enable them for disable them for the virtual clients
With the possibility to choose which component/script is enabled (a tickbox in a component tab)?

I still think the scripts should be more server side, and synced or pushed to clients, with maybe an input box to allow to pass specific parameters to scripts. And that with the backup script a restore script is needed.

This very recent post could use just that, so in 24h, it s about 3 users with the same use case:

Make a script for each fs type or PV, gpt, fat
Possibly like for windows, allow to pass a parameter to restrict the dump to some fs/volume.
Then use a different script that would run from the urbackup livecd and run the restore scripts stored on the server