Backup Linux desktop data using rsync: Difference between revisions
imported>Notessensei m (lowercase all rsync) |
imported>Notessensei (Added Key generation and sample command) |
||
Line 25: | Line 25: | ||
==Setting up Synology for rsync via SSH/RSH== | ==Setting up Synology for rsync via SSH/RSH== | ||
<b> | When using ssh no rsync deamon is used on the DiskStation. However you need to have a valid public / private key pair, so the DiskStation can recognize the Linux machine. Follow the following steps ([http://troy.jdmz.net/rsync/index.html adopted from here]) | ||
<b>Generate they key pair</b> | |||
<code> | |||
mkdir ~/.sshkeys<br /> | |||
cd ~/.sshkeys<br /> | |||
ssh-keygen -t dsa -b 1024 -f ~/.sshkeys/diskstation-rsync-key | |||
</code> | |||
Generating public/private dsa key pair. | |||
Enter passphrase (empty for no passphrase): [press enter here]<br /> | |||
Enter same passphrase again: [press enter here]<br /> | |||
Your identification has been saved in ... diskstation-rsync-key. <br /> | |||
Your public key has been saved in ... diskstation-rsync-key. <br /> | |||
( where ... stands for your directory )<br /> | |||
<code> | |||
chmod 600 diskstation-rsync-key | |||
</code> | |||
<b>Transfer the keys</b><br /> | |||
Use your file manager (e.g. Nautilus) to navigate to <code>[YourUserName]@smb://diskstation/home/</code><br /> | |||
Create a directory <code>.ssh</code> and copy diskstation-rsync-key.pub there.<br /> | |||
Now open a SSH connection to the diskstation to continue:<br /> | |||
<code> | |||
ssh user@diskstation [Enter password here]<br /> | |||
cd /volume1/homes/[YourUserName]/.ssh<br /> | |||
ls -l | |||
</code> | |||
If there is already a "authorized_keys" file you skip the first line of the following code: | |||
<code> | |||
touch authorized_keys<br /> | |||
cat diskstation-rsync-key.pub >> authorized_keys<br /> | |||
rm diskstation-rsync-key.pub<br /> | |||
chmod 600 authorized_keys<br /> | |||
</code> | |||
You can restrict the use of this key for specific commands or IP addresses ([http://troy.jdmz.net/rsync/index.html see here]).<br /> | |||
Exit from the SSH session. Now you are ready to test the keys with the following command:<br /> | |||
<code> | |||
ssh -i ~/.sshkeys/diskstation-rsync-key [YourUserName]@diskstation | |||
</code><br /> | |||
If you get a ssh session without a password prompt the ssh connection using your new keys works.<br /> | |||
<b>Sample backup command</b><br /> | |||
<code> | |||
rsync --recursive --copy-links --times --verbose --progress -e "ssh -i ~/.sshkeys/diskstation-rsync-key" \<br /> | |||
/home/[localusername] [YourUserName]@diskstation/volume1/homes/[YourUserName]/backup | |||
</code><br /> | |||
<b>TODO:</b> Explain a little more | |||
==Backing up your Linux workstation using rsync== | ==Backing up your Linux workstation using rsync== |
Revision as of 10:15, 31 July 2010
Linux servers and desktops can be backed up using the rsync protocol which is a core component of every Linux system. For and introduction check the rsync article on Wikipedia. The official documentation can be found on the Samba website. Rsync is an efficient protocol only sending changes. rsync does not encrypt transmissions, so a remote shell like SSH or RSH should be used in public network. There are a number of Tutorials available (here, here or here). This page describes the steps to setup rsync backup from a Linux machine to a Synology DiskStation.
ToDo:Currently the article is a stub which needs extension.
What to choose: native rsync or rsync via SSH/RSH?
Depending on your needs these are the decision criteria:
- Speed
- Security
- Access control
ToDo: Elaborate
Setting up Synology for rsync
To enable backup via rsync the rsync deamon on the Synology needs to be activated and Sync targets need to be defined.
Activating rsync
Start your Synology DiskStation Manager. Go to Backup - Network Backup Service and check the box "Enable network backup service". Click OK - that's all.
Creating rsync targets
You need to edit the file /etc/rsyncd.conf. You can do that either by opening an SSH session into the DiskStation or using the Config File Editor Third party application. To use it you need to first edit the config File editor config itself and add the line /etc/rsyncd.conf (It seems you have to create the file before the Config File Editor will pick it up). You also might need a file /etc/rsyncd.secrets for users to use rsync connections
Sample file content (see also the full documentation)
ToDo: Add file content here and add explanations to the various entries
Setting up Synology for rsync via SSH/RSH
When using ssh no rsync deamon is used on the DiskStation. However you need to have a valid public / private key pair, so the DiskStation can recognize the Linux machine. Follow the following steps (adopted from here)
Generate they key pair
mkdir ~/.sshkeys
cd ~/.sshkeys
ssh-keygen -t dsa -b 1024 -f ~/.sshkeys/diskstation-rsync-key
Generating public/private dsa key pair.
Enter passphrase (empty for no passphrase): [press enter here]
Enter same passphrase again: [press enter here]
Your identification has been saved in ... diskstation-rsync-key.
Your public key has been saved in ... diskstation-rsync-key.
( where ... stands for your directory )
chmod 600 diskstation-rsync-key
Transfer the keys
Use your file manager (e.g. Nautilus) to navigate to [YourUserName]@smb://diskstation/home/
Create a directory .ssh
and copy diskstation-rsync-key.pub there.
Now open a SSH connection to the diskstation to continue:
ssh user@diskstation [Enter password here]
cd /volume1/homes/[YourUserName]/.ssh
ls -l
If there is already a "authorized_keys" file you skip the first line of the following code:
touch authorized_keys
You can restrict the use of this key for specific commands or IP addresses (see here).
cat diskstation-rsync-key.pub >> authorized_keys
rm diskstation-rsync-key.pub
chmod 600 authorized_keys
Exit from the SSH session. Now you are ready to test the keys with the following command:
ssh -i ~/.sshkeys/diskstation-rsync-key [YourUserName]@diskstation
If you get a ssh session without a password prompt the ssh connection using your new keys works.
Sample backup command
rsync --recursive --copy-links --times --verbose --progress -e "ssh -i ~/.sshkeys/diskstation-rsync-key" \
/home/[localusername] [YourUserName]@diskstation/volume1/homes/[YourUserName]/backup
TODO: Explain a little more
Backing up your Linux workstation using rsync
ToDo: Elaborate
GUI Tools using rsync for backup
Flyback rSync tool modeled after TimeMachine (Flyback on Google code)
QTDSync
GAdmin tool for rsync
ToDo: complete the list of Linux GUI applications using rsync.