Introduction to rsync
The rsync package contains the
rsync utility. This
is useful for synchronizing large file archives over a network.
This package is known to build and work properly using an LFS-8.3
platform.
Package Information
-
Download (HTTP): https://www.samba.org/ftp/rsync/src/rsync-3.1.3.tar.gz
-
Download MD5 sum: 1581a588fde9d89f6bc6201e8129afaf
-
Download size: 884 KB
-
Estimated disk space required: 11 MB (with tests - additional
45 MB for HTML API documentation)
-
Estimated build time: 0.5 SBU (with tests)
rsync Dependencies
Recommended
popt-1.16
User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/rsync
Installation of rsync
For security reasons, running the rsync server as an unprivileged user and group
is encouraged. If you intend to run rsync as a daemon, create the
rsyncd
user and group with the
following commands issued by the root
user:
groupadd -g 48 rsyncd &&
useradd -c "rsyncd Daemon" -d /home/rsync -g rsyncd \
-s /bin/false -u 48 rsyncd
Install rsync by running the
following commands:
./configure --prefix=/usr --without-included-zlib &&
make
If you have
doxygen installed and wish to build HTML API documentation,
issue doxygen.
To test the results, issue: make
check.
Now, as the root
user:
make install
If you built the documentation, install it using the following
commands as the root
user:
install -v -m755 -d /usr/share/doc/rsync-3.1.3/api &&
install -v -m644 dox/html/* /usr/share/doc/rsync-3.1.3/api
Configuring rsync
Config Files
/etc/rsyncd.conf
Configuration Information
For client access to remote files, you may need to install the
OpenSSH-7.9p1 package to connect to the
remote server.
This is a simple download-only configuration to set up running
rsync as a server.
See the rsyncd.conf(5) man-page for additional options (i.e.,
user authentication).
cat > /etc/rsyncd.conf << "EOF"
# This is a basic rsync configuration file
# It exports a single module without user authentication.
motd file = /home/rsync/welcome.msg
use chroot = yes
[localhost]
path = /home/rsync
comment = Default rsync module
read only = yes
list = yes
uid = rsyncd
gid = rsyncd
EOF
You can find additional configuration information and general
documentation about rsync at http://rsync.samba.org/documentation.html.
Boot Script or Systemd
Unit
Note that you only want to start the rsync server if you want to provide an
rsync archive on your local
machine. You don't need this script or unit to run the
rsync client.
Install the /etc/rc.d/init.d/rsyncd
init script (for System V bades systems) or the rsyncd.service
unit (for systemd based systems)
included in the blfs-bootscripts-20180105 blfs-systemd-units-20180105 packages
respectively.
make install-rsyncd
Note
For systemd use, this package comes with two types of units: A
service file and a socket file. The service file will start
rsync daemon once at boot and it will keep running until the
system shuts down. The socket file will make systemd listen on
the rsync port (Default 873, needs to be edited for anything
else) and will start rsync daemon when something tries to
connect to that port and stop the daemon when the connection is
terminated. This is called socket activation and is analogous
to using {,x}inetd on a System
V based system.
By default, the first method is used - rsync daemon is started
at boot and stopped at shutdown. If the socket method is
desired, you need to run as the root
user:
systemctl stop rsyncd &&
systemctl disable rsyncd &&
systemctl enable rsyncd.socket &&
systemctl start rsyncd.socket
Note that socket method is only useful for remote backups. For
local backups you'll need the service method.