newtofoxpro,
While I don't know the exact specifications, you backup starting with closing the databases sounds like a candidate for what I called "decent backup software", so you're not out, if it comes down to accepting that advice.
If you're picky, closing the database from the current user doesn't close it in total, other users still use files shared. As VFP is no server there is no central server element pushing out users, you can of course do so on the network level, cutting a server from the network no files is open by any network client of course.
If it comes to live backup I get back to my half told story about backing up a large database:
There was no error for any user or me while copying the files simply via xcopy, there is no hardware defect of files, but still due to the duration of the copy the header having the reccount of the table stored was half an hour older than the end of the file, to which records were added during copy: Again, without any error. The result copy was fully intact including eof, no area of the file was mangled or such, but the file size didn't match the header reccount.
In short: You don't do a snapshot backup, neither with vfps copy file, nor with comand.com copy or xcopy or whatever copy utility.
I know one snapshot mechanism that really also handles this downside of file copies from Acronis. I'm not their advocate, but have a read on this technology here in the last paragraph:
In short they hook into the file system on a really low level, and intercept every file operation on the valume to backup while backing it up. Therefore all programs don't get interrupted and can change files and read them as if they are really changed, while those changes really go into a seperate buffer. This way it can take as long as it takes, you still copy a snapshot of the files made by redirecting all changes into the buffer and then applying them after the backup.
To mimic this in your app you'd need some complex logic and I'd simply bye a backup software supporting this or a similar snapshot technique in regard to decent backups.
This still does not include any transaction log, it's just assuring the integrity of the data backed up by freezing files to that moment in a tricky but elegant way.
The only thing bad about it is, it takes a sec or two to get into that freeze mode, as described. during that time write operations fail and if you eg set VFPs RETRY too low that may cause a failure during that time. Otherwise it's a fine backup mechanism. This is what I really call decent. And that's that expert knowledge you only get from a professional backup software vendor.
I've googled for the filter technology mentioned in the acronis "advert" - "...the filter driver...". You can write such a filter, too, not with VFP though, and you need an SDK, which doesn't come for free. Here's a starting point on that:
But I recommend you buy a backup product, really. It would take some time learning this to write your own, if you're as picky as I am on backups. In the end it doesn't help much, if you revert from a backup that as header errors or missing parent or child records, even though there were no errors during backup.
Bye, Olaf.