darthsabbath
June 30th, 2005, 06:44 PM
Hey guys,
Hoping this is the right place to post this. LOL
I was thinking of making my first real Python app a Windows system restore like tool. I know I've had occasions where I've screwed up a config file and been unable to fix the problem.
So I got to thinking... wouldn't it be useful to have one in Linux? Basically it can backup and restore your system settings to certain dates, much like the one used in Windows. It would also help newbies in fixing problems they create, because as we all know, they like to change things they know nothing about (guilty here as well).
I plan on coding it in Python, with the majority of the work done as a backend that could be on the commandline if used on, say, a server, but could also enable GUIs to be built for GNOME, KDE, etc.
It would have the ability to backup a list of directories that could easily be modified, and then restore to a certain date when called upon to do so. It would probably run as a daemon, perhaps making a restore point every 24 hours.
Also, I'd like the program to only be able to restore certain settings... like individual users, just /etc, and so on. For example, if run as a regular user, it would only restore that users settings, but root could restore the entire system if need be.
A few questions I have are:
1. Besides /etc, what other directories/files would be good to backup? I'm sure the bash config files in /home/$USER, but do any come to mind that would be good defaults across all Linux/UNIX machines, as I do want to be able to use this on any OS I run with little difficulty.
2. What would be the easiest way to be able to store the backup files and still maintain portability? My guess would be tar.gz.
3. This question may be better suited elsewhere, but supposing I'm able to do this and get it working flawlessly, would I be able to submit it for review to be included in Ubuntu?
Any thoughts that come to mind on this project or suggestions would be welcome. On the surface it seems to be a fairly simple first program to do... I guess we'll see once I dive in headfirst. ;-)
Thanks
Phil
Hoping this is the right place to post this. LOL
I was thinking of making my first real Python app a Windows system restore like tool. I know I've had occasions where I've screwed up a config file and been unable to fix the problem.
So I got to thinking... wouldn't it be useful to have one in Linux? Basically it can backup and restore your system settings to certain dates, much like the one used in Windows. It would also help newbies in fixing problems they create, because as we all know, they like to change things they know nothing about (guilty here as well).
I plan on coding it in Python, with the majority of the work done as a backend that could be on the commandline if used on, say, a server, but could also enable GUIs to be built for GNOME, KDE, etc.
It would have the ability to backup a list of directories that could easily be modified, and then restore to a certain date when called upon to do so. It would probably run as a daemon, perhaps making a restore point every 24 hours.
Also, I'd like the program to only be able to restore certain settings... like individual users, just /etc, and so on. For example, if run as a regular user, it would only restore that users settings, but root could restore the entire system if need be.
A few questions I have are:
1. Besides /etc, what other directories/files would be good to backup? I'm sure the bash config files in /home/$USER, but do any come to mind that would be good defaults across all Linux/UNIX machines, as I do want to be able to use this on any OS I run with little difficulty.
2. What would be the easiest way to be able to store the backup files and still maintain portability? My guess would be tar.gz.
3. This question may be better suited elsewhere, but supposing I'm able to do this and get it working flawlessly, would I be able to submit it for review to be included in Ubuntu?
Any thoughts that come to mind on this project or suggestions would be welcome. On the surface it seems to be a fairly simple first program to do... I guess we'll see once I dive in headfirst. ;-)
Thanks
Phil