Add verification backend to backups/restoration/xfers
The following would improve the backup system within WHM/cPanel to avoid not copying databases or files:
- Before account backup/transfer, make a "packing list" of all the files and its md5 checksums
- Check if a file cannot be read before blindly taking a tar, ideal would be first to suspend an account, then make a fast copy of it and unsuspend, so all files and db can be clean. (Insures the result, others might not want to, but let this be optional,for small accounts making a clone of files and db wont mean more than a minute downtime).
- After backup, check the contained files against packing list and their md5's for consistency.
- After restore or transfer, check packing list for consistency.
- Allow user configurable options, to get notification for these failures, to be able to configure if inconsistent backups are kept or not, and how many times and in what interval, we would like to retry for creating a backup, doing a restore and retrying a failed transfer, as if a file fails, does mean it was used or changed during backup and if user wanted to dump this and retry in x minutes, it would be perfect.
- Add a check/switch to either abort backups and send an email to the administrator/account when a MySQL dump fails on a database so the administrator/systems admin can fix the MySQL issues. This would have an added benefit of notifying the admins of an server of possible systemic MySQL issues.