Hi,
first, I totally agree with Joximu. The previous backup must be deleted when only after the new one had be created successfully. Think of a power outage or so, where the new backup is not being dumped out. Then we are left with nothing.
Okay, for the full view... I'd like to partition it into the different work areas of the system:
Server hardware:
- use backup software + RAID + UPS or whatever, but this is absolutely out of the scope of the software. Think of service updates (e.g. MySQL) which break some startup script. Should i-mscp daemon monitor this and allow for recovery? To me an absolute no.
Control panel:
- this resides in the i-mscp database. We have transactions to keep the thing clean. Either dump the db before every change (impractical) or keep daily backups for 14 days (enough for my needs).
Servers (the machines running postfix, dovecot, apache, ...):
- we have that /etc/imscp directory where working configs are generated based on the database changes. So these could be moved/copied before every change. I don't know if the system generates ALL/every configs after any change or if it recognizes individual changes (e.g. mailbox added -> update postfix/dovecot or courier only). I would like to have review possibility in a folder structure based on changes made:
2011-12-13/19-21/(configs from that date)
2012-01-04/12-07/(configs from that date)
then it would be very easy to review changes to the server configuration. When were they made? What changed? Perhaps a log from manager could also be a good idea. Like a changelog:
Administrator altered mailusers -> generating new configs for services postfix, dovecot
Reseller 'horst' altered domains -> generating new configs for apache2, awstats
This to me is very important with multiple admins hacking the server(s). Also think of the m in i-mscp, multiple servers. A hell hard thing to monitor, especially when something breaks. I want a quick way to return to last known good state.
Last point, the users:
- x number daily backups. Select based on hosting plan, databases, sites, mailboxes. Selectable daily, weekly, monthly. This can create lots of traffic (tar 3000 users every night) for the hosts and lots of webspace to waste (keep 30 copies of 1 website is 30 times the space).
- a default for me is to backup the sites/databases only. Once daily, I guess it's what has been talked about in this thread here initially. Train the users to make backups between changes and all is good.
- When the customer is allowed to have multiple backup steps, then account this into his quota.
- I'm curious, can customers already run a restore from the web panel? Perhaps this could be useful.
- I do not make individual email backups. Most users still have POP boxes and download everything. I do nightly backups of /var/mail and can restore individual boxes via shell on demand, but that has never been the case in the last years.
Okay, I hope I haven't bloated this thread to much with my reply.