We have lots of users with Verizon and AT&T data cards. The issue is that they have limited data depending on the plan. So, for a 3GB / month user, I can’t do the initial full backup if the user is using the cell data cards. I also can’t accurately predict the amount of data that is transferred during the incremental backups, so I may want to block those too.
My current backup program (BURP) allows for a user configurable script to be run before a backup takes place. That backup program sets some environment variables, and REMOTE_ADDR (the backup user’s current ip address) is one of the variables. I wrote a script that simply does a reverse lookup on the IP and can deny the backup based on the exit value.
I think an acceptable solution would be to have a way to run an external script prior to backups that can cancel a user backup, with environment variables set (like BURP); or alternatively, a textbox in the settings that I can add a list of domains to block (with a wildcard to block subdomains; eg. *.myvzw.com).
Ultimate wish solution:
Have a way to limit each client by a certain MegaByte value per month (say 1000MB or 1GB); counted only when they are backing up from a restricted domain. Do not count data for non-restricted domains, and have the counters reset once a month. Perhaps, under settings I could have a list of “restricted” domains the clients might connect from and I could add a size limit for each domain. Then, under the client settings tab I might see an override to allow smaller or larger amounts of data for specific clients.
Thoughts? Thanks for the consideration.
EDIT: I just found out about the prefilebackup and postfilebackup scripts. Correct me if I’m wong, but it looks like those are for client machines. Could I use the prefilebackup to stop a backup from running if I determine the backup path is via one of my restricted domains?