Backup solution for the long-since discontinued veterinary management database software VetVision running in a Windows 11 VM under macOS running VMware Fusion.
This is the second, (slightly) more performant version, where the shell scripts (Korn and PowerShell) are replaced by compiled native programs (Swift and C#). It also comes with a menu bar widget for easy configuration and info on backups.
Because the database in question contains animal medical records and personal information on their owners, it is imperative that backups are performed daily, at least once. Once backed up, the copy must be copied off computer asap. This has been done by utilising iCloud (encrypted storage) and a BSD box (with disk encryption) on LAN. This way, at most a day's entries is lost on catastrophic failure. Such failure most likely being fluid damage into the computer (animal urine) or theft. Neither can be prevented through software (where my responsibilities end), but the impact of such a catastrophe can be significantly reduced.
- scheduled time strikes: Mac component checks if VM is running
- if not; check VM bundle disk image modified date
- if last backup is from today; check if VM was used past 20 minutes after last backup time
- if last backup is not from today; check if VM was used after that day
- then asks the Windows utility for modified date for
Database.fdb - determine whether to request a new copy
- log result and scan backup folder, and if there are ≥10 archives;
- flag outdated archives (by setting
BackupFile.isOutdatedtotrue), keeping:- all archives made during the last 7 days
- the 3 most recent archives older than 7 but no older than 14 days
- the 1 most recent archive per month for the preceding 6 months





