1) Install the rsync daemon via apt-get by typing the following command on a CommGate system as user root;
apt-get install rsync
2) Create the rsync daemon configuration file so that we can start the xinetd service and the rsync daemon is automatically started. Edit the following files;
Add the following lines in the configuration file;
# default: off
# description: The rsync server is a good addition to
# an ftp server, as it allows crc checksumming etc.
disable = no
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
3) Configure the /etc/rsyncd.conf file as follow;
## This is the rsyncd configuration file to start the rsync
## daemon for remote synchronization of data.
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
max connections = 5
syslog facility = local3
path = /opt/named/of/shared/path
comment = Change to the Name of Shared Path
auth users = root
secrets file = /etc/rsyncd.secrets
uid = root
gid = root
read only = yes
list = yes
hosts allow = 127.0.0.0/8 192.168.1.0/24
4) Export the RSYNC password as follow;
5) Set-up the RSYNC password file in case it will be needed for rsync scripts as follow;
Within the file, type the rsync username and password in the following format;
Save the file with command;
Change the file ownership as follow;
chmod 600 /etc/rsyncd.secrets
5) Start the RSYNC server as follow;
service xinetd start
6) Test the RSYNC server setup from the server;
You should see these;
name-of-shared-path Change to the Name of Shared Path
7) Viola! Your rsync server is ready and you can now use your Linux PC/Server rsync client to do rsync backups!
8) Here's how you can create the script to run the backup automatically via cron.
9) Decide on where you want to store all your administration scripts. Mine is in /root/scripts/ so I create multiple rsync scripts for every individual server.
Example of my rsync script.
/usr/bin/rsync -av --stats --progress --exclude "*.tmp" --exclude "*.c" \
email@example.com::HOME /home > /var/log/rsync.log
10) I then edit my crontab to backup my data to my rsync server which has 500GB (RAID-5) storage every hourly via rsync. The command to edit your crontab is as follow;
11) I add the following line in my crontab.
0 0-23 * * * /root/scripts/rsync-backup-home.sh
That's all folks! You now have an RSYNC server and you can start backing-up all your Windows and Linux PC/Servers automatically without forgetting it ever again or worrying about loss of data anymore. Of course you should think of offline storage too if your data is worth a lot of money. That's where a tape-drive is useful :)