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 12.3
          platform.
        
        
          Package Information
        
        
          
            - 
              
                Download (HTTP): https://www.samba.org/ftp/rsync/src/rsync-3.4.1.tar.gz
               
- 
              
                Download MD5 sum: 04ce67866db04fd7a1cde0b78168406e
               
- 
              
                Download size: 1.1 MB
               
- 
              
                Estimated disk space required: 11 MB (with tests; add 24 MB
                for HTML API documentation)
               
- 
              
                Estimated build time: 0.6 SBU (with tests)
               
 
        
          rsync Dependencies
        
        
          Recommended
        
        
          popt-1.19
        
        
          Optional
        
        
          Doxygen-1.13.2 and xxhash
        
       
      
        
          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" -m -d /home/rsync -g rsyncd \
    -s /bin/false -u 48 rsyncd
        
          Install rsync by running the
          following commands:
        
        ./configure --prefix=/usr    \
            --disable-xxhash \
            --without-included-zlib &&
make
        
          If you have Doxygen-1.13.2 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.4.1/api &&
install -v -m644 dox/html/*  /usr/share/doc/rsync-3.4.1/api
       
      
        
          Command Explanations
        
        
          --disable-xxhash: This
          switch disables advanced xxhash checksum support. Remove this
          switch if you have installed xxhash.
        
        
          --without-included-zlib:
          This switch enables compilation with the system-installed zlib
          library.
        
       
      
        
          Configuring rsync
        
        
          
            Config Files
          
          
            /etc/rsyncd.conf
          
         
        
          
            Configuration Information
          
          
            For client access to remote files, you may need to install the
            OpenSSH-9.9p2 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 https://rsync.samba.org/documentation.html.
          
         
        
          
             Systemd Unit
          
          
            Note that you only need to start the rsync server if you want to provide an
            rsync archive on your local
            machine. You don't need this unit to
            run the rsync client.
          
          
            Install the rsyncd.service unit included in the
            blfs-systemd-units-20241211 package.
          
          make install-rsyncd
          
            ![[Note]](../images/note.png) 
            
              Note
            
            
              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 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 SysVinit 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.