lp:~germar/backintime/ssh
This branch provide ssh access for BackinTime. In Settings > General > Advanced you can choose SSH.
Prepare for ssh:
- add the user to group 'fuse' by typing 'sudo adduser <USER> fuse'
- create a password-less login (for further instructions look at http://
type in terminal:
'ssh-keygen -t rsa' #hit enter for default path and keep the passphrase empty
'ssh-copy-id -i ~/.ssh/id_rsa.pub <USER>@<HOST>'
BackinTime/ssh uses sshfs to mount the remote path to local mountpoint. Rsync will run it's magic over ssh directly on the remote host. Time-consuming tasks like 'Create hard-links' also run remote over ssh.
I don't have specific times till now, but BackinTime/ssh performs a lot better than my previews setup with nfs-mount.
[Update 2012-10-08: Overall speed increase is ~60%. 'Create hard-links' is ~140% faster, and 'remove snapshot' ~110% faster than before. But the best is if you have a look on the load.
localhost: https:/
remote host: https:/
]
For even better performance you can choose the cipher for ssh. Run 'backintime --benchmark-cipher [FILESIZE]' in terminal will give you an overview over which cipher is the fastest in your environment. My preferred one is 'arcfour'. It comes with 140% speed increase compared to default 'aes128-ctr' in my setup. But that depends a lot on where your bottleneck is. In my case it is the CPU of the remote host (WesternDigital MyBook WorldEdition whitelight). If you backup between two powerfull PC's the bottleneck will be more likely the network or harddrive. In this case you should stay on default cipher. A weaker cipher does mean weaker security even if all supported ciphers are known to be safe at the moment.
If you backup to an embedded Linux NAS like the WD MyBook WorldEdition you could run into some problems caused by feature-less commands on the embedded Linux. In my case 'cp' and 'chmod' didn't have support for hardlinks. But I installed Optware on it a while ago which comes with full-featured commands in '/opt/bin/'.
Till now I wasn't able to trick the PATH environment or add an alias that will make 'cp' point to '/opt/bin/cp' even in non-interactive ssh session (it works if I login and run the command but not if I run 'ssh user@host cp -aRl source target' like it is done by BackinTime).
Right now I'm using an ugly hack to change the commands in snapshots.py to their '/opt/bin' equivalent (not in this branch). But if I don't find a better solution, I will implement an option to specific commands full path.
[Update 2012-10-05: After changing users shell to /opt/bin/bash in passwd the non-interactive commands has been replaced with /opt/bin equivalents, too. The problem was again the feature-less /bin/sh. So, no needs of ugly hack's anymore]
GUI support is only for Gnome right now. I will add KDE if there is a request.
[Update 2012-10-17: KDE support is now added. This branch now contain a framework for mounting different services which makes it easy to add more services to BackinTime in the future. A template is provided (dummytools.py). But for now there is only ssh.]
- Get this branch:
- bzr branch lp:~germar/backintime/ssh
Branch merges
- Back In Time Team: Pending requested
-
Diff: 3394 lines (+2339/-271)16 files modifiedAUTHORS (+1/-0)
CHANGES (+5/-0)
common/backintime.py (+61/-0)
common/config.py (+153/-6)
common/configfile.py (+0/-1)
common/debian_specific/control (+1/-1)
common/dummytools.py (+105/-0)
common/mount.py (+421/-0)
common/snapshots.py (+154/-26)
common/sshtools.py (+309/-0)
common/tools.py (+21/-1)
gnome/app.py (+51/-10)
gnome/settingsdialog.glade (+608/-211)
gnome/settingsdialog.py (+202/-7)
kde4/app.py (+31/-0)
kde4/settingsdialog.py (+216/-8)
Related bugs
Bug #453169: (enhancement) backup to samba share, sshfs, ftp etc | Wishlist | Confirmed |
|
Bug #479178: [enhancement] Possibility to select manual frequency for every x hours | Wishlist | Fix Released |
|
Related blueprints
Branch information
Recent revisions
- 814. By Germar
-
ssh bugfix: remove tmpdir after check_remote_
commands( ); make check_remote_ commands( ) quiet; bugfix: end settingsdialog. validate( ) if save_profile() returns false - 813. By Germar
-
bugfix: log_pid end with '.' on tmp_mount; remove feature disable_chmod; test cron pattern for custom_hours; bugfix: don't mount on mode local in settingsdialog
- 811. By Germar
-
ssh: check rsync and improved check commands; add '-p PORT' to all ssh sessions; change error messages
Branch metadata
- Branch format:
- Branch format 7
- Repository format:
- Bazaar repository format 2a (needs bzr 1.16 or later)