For those who would be interesed I've made rsync run on freetz 1.1. This is what I did:
1. Compile Freetz from trunk with rsync selected.
2. Copy build/modified/filesystem/usr/bin/rsync and all files from build/modified/filesystem/usr/lib/freetz (maintain links) to disk attached to Fritz
3. Create rsyncd.conf in the same destination directory with this content:
Code:
uid = ftpuser
gid = root
use chroot = yes
[uStor01]
path = /var/media/ftp/uStor01
charset = UTF-8
read only = false
4. Run rsync daemon with command:
Code:
LD_LIBRARY_PATH=".:LD_LIBRARY_PATH" ./rsync --daemon --config=rsyncd.conf
And you have rsync service running
Obviously you will need to run the step 4 after every reboot. I think I'll add it to my next Freetz image so it autostarts (unless 1.2 is sooner).
One note here - I force UTF-8 charset because if I add "unix charset = UTF-8" option to Freetz Samba, then you can have national characters in both Windows share and rsync in consistent way. I'll need to check how to do it for FTP also (probably I'll need vsftp package). I couldn't make Polish characters working without it. But keep in mind that file names in SSH console won't be proper.
Another note here. Why I need rsync so much? Because this is the most convenient backup tool for me. You can very easily (see script below) run incremental builds (only changed files will take storage; it is using hard links) but from file system perspective you have separate snapshots for every backup, and you can remove any of those without breaking any dependencies.
The script looks like this (you need Cygwin for Windows):
Code:
#!/bin/sh
src=$1
dst=$2
if [ ! -z "$3" ] ; then
extraOptions=$3
fi
prev=$( rsync $dst/ | grep -oE '[^ ]+' | tail -1 )
if [ "$OS" = "Windows_NT" ] ; then
fixperm='--chmod=ug=rwX --chmod=o=rX'
fi
rsync -av --link-dest=../$prev $fixperm $extraOptions "$src/" "$dst/$( date +'%Y.%m.%d_%H.%M.%S' )"
And you run it like this (assuming you name it backup_rsync.sh and you have "backup" dir on your external drive):
Code:
./backup_rsync.sh /dir/to/backup rsync://firtz.box/uStor01/backup
I know duplicity is probably taking even fewer space and it does not require any service on storage, but it does not provide such easy access to backup. I could also probably mount the CIFS share and run rsync as on local files system ...