lsyncd

Lsyncd für CentOS

Rsync auf allen Nodes installieren:

yum -y install rsync

Einen zweiten SSH Dienst konfigurieren, explizit für root Login: zweiter-ssh-dienst-einrichten

Lsyncd auf dem Master Server installieren:

yum -y install lsyncd

Konfiguration anpassen:

vi /etc/lsyncd.conf
-- global settings --
settings {
        insist = true,
        logfile = "/var/log/lsyncd.log",
        statusFile = "/var/log/lsyncd-status.log",
        statusInterval = 20
}
 
-- slave servers --
sync {
        default.rsyncssh,
        delay = 3,
        source = "/var/www",
        host = "web-live2.dmz.local",
        exclude = { '/html', '.*', 'www2.domain.hta', 'hello.bak', 'hello.htm' },
        targetdir = "/var/www",
        rsync = {
                archive = true,
                compress = true,
                perms = true,
                owner = true,
                group = true
        },
        ssh = {
                port = 31460
        }
}
 
sync {
        default.rsyncssh,
        delay = 3,
        source = "/var/www",
        host = "web-live3.dmz.local",
        exclude = { '/html', '.*', 'www2.domain.hta', 'hello.bak', 'hello.htm' },
        targetdir = "/var/www",
        rsync = {
                archive = true,
                compress = true,
                perms = true,
                owner = true,
                group = true
        },
        ssh = {
                port = 31460
        }
}
 
sync {
        default.rsyncssh,
        delay = 3,
        source = "/var/www",
        host = "web-live4.dmz.local",
        exclude = { '/html', '.*', 'www2.domain.hta', 'hello.bak', 'hello.htm' },
        targetdir = "/var/www",
        rsync = {
                archive = true,
                compress = true,
                perms = true,
                owner = true,
                group = true
        },
        ssh = {
                port = 31460
        }
}
sync {
        default.rsyncssh,
        delay = 3,
        source = "/var/www",
        host = "web-live5.dmz.local",
        exclude = { '/html', '.*', 'www2.domain.hta', 'hello.bak', 'hello.htm' },
        targetdir = "/var/www",
        rsync = {
                archive = true,
                compress = true,
                perms = true,
                owner = true,
                group = true
        },
        ssh = {
                port = 31460
        }
}
 
sync {
        default.rsyncssh,
        delay = 3,
        source = "/var/www",
        host = "web-live6.dmz.local",
        exclude = { '/html', '.*', 'www2.domain.hta', 'hello.bak', 'hello.htm' },
        targetdir = "/var/www",
        rsync = {
                archive = true,
                compress = true,
                perms = true,
                owner = true,
                group = true
        },
        ssh = {
                port = 31460
        }
}

Auf dem Master Webserver den lsync Daemon starten und aktivieren

systemctl start lsyncd
systemctl enable lsyncd

Da der Lsync Daemon keine Syslog Implementation und Logs nur in Dateien schreiben kann, muss Rsyslog angepasst werden, damit diese Logs zum Syslog Server gesendet werden können:

vi /etc/rsyslog.d/user.conf
# lsyncd log
$ModLoad imfile
$InputFileName /var/log/lsyncd.log
$InputFileTag lsyncd
$InputFileStateFile stat-lsyncd
$InputRunFileMonitor

Sie haben weitere Fragen zu dieser Anleitung und möchten gerne mehr Informationen oder brauchen Unterstützung? Wir helfen Ihnen gerne, unsere Kontaktdaten finden Sie hier: https://df-informatik.ch/kontakt/