On Sun, May 13, 2007 at 11:34:17 +0200, Thomas Glanzmann wrote: > I am thinking about using git for doing differential backups of a whole > machines. And I would like to know what is necessary to obtain that. In > such a scenario the machine to be backed up should have a local index > file but sends its objects directly to the remote machine via git-via-ssh > or git protocol. Is it possible to store extra information like extended > attributes / acls in git? I don't care about named pipes, sockets and > device files for the moment. I don't actually think git is a good match for whole-machine backups. It's strenghts are in distributedness and branching, but you don't need either of those for large-scale backups (monitoring changes say in /etc is a different thing -- git is sensible match there -- see http://www.isisetup.ch/). I can suggest two solutions: - Use CVS on the client (machine to back up) and git-cvsserver on the server. You will probably be able to find some scripts that do backups to CVS. On server you will still have git for digging in history. Git is also very space efficient. CVS does not cache any data on the client. It only keeps metadata to detect which files were modified. Therefore it will have minimal overhead in storage, but needs to transfer the modified files in their entirety. - Use Subversion. There is summer of code project to create git-svnserver, so you might be able to use git on the server-side in future with subversion client too. But for backups you should not need any of the version control features subversion does not have, so subversion should be suitable. Subversion stores copy of the previous revision on the client, so all data under it's control will take twice as much space on client, but it will only transfer deltas over the network. -- Jan 'Bulb' Hudec <bulb@xxxxxx>
Attachment:
signature.asc
Description: Digital signature