Reputation: 5661
I am looking for a way (not a service, a (set of) tool(s)) to make personal backups (mostly photos & videos) using a solution existing in whatever OS. That's why git sounds interesting.
The thing is that I don't want to keep track of everything pushed in the repository, I would like to disable the versioning functionality so that when I delete a photo and sync the folder with my server, this photo is actually deleted and not saved in revision n - 1.
Is there any way to do this with git? Or maybe do someone know a good multi platform & open source solution for backups?
Thank you.
EDIT
Of course, it would be for more than 2 Gb (right now 400Gb) of data. Meaning I don't want to pay for a cloud service. I can host it on my own server.
Upvotes: 3
Views: 4195
Reputation: 15
git-annex looks relevant. It stores only
hashes of files in git repository, while actual files content are stored in
different backends. So it
allows managing files with git and still being able to "drop" some files from
backup completely (you have to drop it from all backends where it is stored.
Usually annex will try to preserve you from doing so, but all you need is
--force
flag)
Upvotes: 0
Reputation: 11
rsync has been mentioned, but if you want versioning too, then look at rsnapshot.
Upvotes: 1
Reputation: 11
I use 2gb free ZenOK Online Backup has is good tool to store my photos from work, it works and I don't have to worry about burning DVDs or buying an external hard drive.
Upvotes: 1
Reputation: 706
As an alternative to rsync, Unison works pretty well for bi-directional sync-ing
Upvotes: 2
Reputation: 301637
It is possible to remove a file completely from a git repo:
git filter-branch --index-filter 'git rm --cached --ignore-unmatch deleted_image.jpg' HEAD
Too much hassle for a personal backup though.
You can use something like robocopy in the backup mirror mode.
Mirror A to B, destroying any files in B that are not present in A (/MIR), copy files in restartable mode (/Z) in case network connection is lost:
Robocopy C:\A \\backupserver\B /MIR /Z
http://en.wikipedia.org/wiki/Robocopy
Or rsync can be used. Use --delete option while mirroring.
http://www.abbeyworkshop.com/howto/unix/nix_rsync/index.html
Upvotes: 3
Reputation: 23222
Try Sugarsync.com too. It's got 5gb of free storage; similar to dropbox.
Upvotes: 2
Reputation: 10507
Dropbox is a great service for doing what you describe. Basically, it keeps a folder synced with an online backup. It also allows you to sync files across multiple computers or view the files online.
Upvotes: 2
Reputation: 60016
Instead of git, you might want to look at rsync for that kind of tasks.
Upvotes: 8