Hey dude.
You absolutely want to go with the rsync approach. Rsync uses a very clever incremental backup algorithm, which means that, if you change something on your PC, your Bubba only has to download the part of the file which has changed. Samba on the otherhand, would (I guess) see all files as atoms, with the only option to overwrite.
I use this approach myself, and the speedup gained from this incremental backup is amazing. I have also written a small bash script that e-mails me the rsync output after each backup job completes, very nice!
You will have to install a Rsync server on each PC you want to backup, and then have the Bubba logon to these periodically and pull files. One of my machines run Windows XP, and it's not very difficult to setup Rsyncd to run as a service.
I personally use a pre-compiled Rsync server for Windows, provided by the good folks of Sourceforge project BackupPC. You can fetch it here
cygwin-rsyncd-2.6.8_0.zip. It has several patches to improve speed when using Cygwin (basically a framework that allows you to compile Linux apps in Windows environments).
The included Readme-file is pretty straightforward. But the general idea is:
1) Unzip contents of cygwin-rsyncd.zip
2) Open rsyncd.conf (this is the main config file). Define "network shares" as you wish (they are called Modules in rsync). By looking at the examples, you should figure out the syntax.
3) Make sure the config directive "secrets file" points to an existing file, preferably in your rsyncd-dir. This file contains all users and passwords who are allowed to connect to each Module (share). Use slashes in paths, so lets say you have C:\program\rsyncd\secrets.txt, the path would be c:/program/rsyncd/secrets.txt
5) It might be a good idea to only allow connections from your bubba, so enter its ip in the hosts allow directive.
6) Open your secrets file, create if it doesn't exist. Add users, one per line with format username:password. Like "bubba:mypassword".
7) To start and make the rsyncd server autostart with windows, you have to edit the service.bat file. It basically registers the service with windows, but you have to make sure all paths correspond to your installation. Please note the forward slashes in pathnames!
This should be it, now you can connect with Rsync from your bubba server and let it do the initial backup. Once that is finished, you can simply let it run again and it will automatically try to make everything up-to-date.
You can verify that you server works, and list all files within a share (module) by this command:
Code: Select all
rsync --list-only username@X.X.X.X::MYMODULE
Where MYMODULE is the modulename, X.X.X.X is server ip (your windows box) and username is, well, username!
To perform the actual backup, simply drop the --list-only parameter and add -av (that means -a for archive, -v for verbose).
Other options I find useful:
Code: Select all
--delete
If you delete a file on your PC, and your bubba has backup'd it before, you may want the file to remain on the bubba. However, using this option, rsync will remove all deleted from its backup archive. Essentially, you get an exact mirror of your PC.
--stats
Shows some statistics at the end of each job. I use this and pipe the output to an email. It shows stuff like files transfers, amount transfers, and speed-up thanks to the smart algorithm.
--exclude-from=filename
Excludes certain files, matching patterns found in the given filename. This can be good if you have a share of a complete drive, and want to backup EVERYTHING except, lets say C:\Temp .. then you can add temp to the exclude file, and it will skip it. The patterns are standard regex-ish.
Hope this helps![/list]