From what I understand, urbackupclientbackend tracks changed files using a daemon.
Instead, I want to use CloudLinux’ fchange API, which provides the cloudlinux-backup-helper binary. The fchange API buffers a list of modified files in the kernel, reducing I/O and load. With just the timestamp, I can extract a list of changed files since that timestamp.
According to https://docs.cloudlinux.com/cloudlinux-fchange/#general it seems it records deletion. The low level access would perhaps be more appropriate for UrBackup, but I’m not sure it would not clash with the daemon they have running already (API might not work for multiple programs). Also I’m unsure how to handle changes of hard linked files. And it seems to ignore changes of uid<500 per default.
If they allow you to run CloudLinux on-premises, they should also give you the source code of the Linux module, since Linux is GPL v2.
It doesn’t matter if it is a separate kernel module or not. They probably use Linux internal GPL symbols and have to make the module GPL as well (or have to patch the kernel), so you can just get the source code and upload it to github or something.