Re: RFD Use git for off-site backups
On Sun, May 13, 2007 at 11:34:17 +0200, Thomas Glanzmann wrote:
Show 7 quoted lines
> 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@ucw.cz>