IPS auf Raspberry (Buster): wie auf USB Stick oder NAS synchronisieren?

Hallo,

ich möchte jetzt IPS auf einem Raspberry 4 in Betrieb nehmen. Hierfür möchte ich alle relevanten Daten täglich auf einem USB Stick oder auf dem NAS sichern.

Momentan läuft IPS auf einem Win10 PC, hier werden die Daten die ganze Zeit über mit FreeFileSync auf den NAS synchron gehalten.
Ich habe bereits RaspiBackup installiert, das funktioniert auch soweit. Damit erstelle ich aber ein komplettes Backup von der SD Karte, welches einmal in der Woche erstellt wird.

Ich möchte aber die IPS relevanten Verzeichnisse täglich synchronisieren. Wo mit kann man das am einfachsten machen? Nicht alle Linux-Programme sind ja anfängerfreundlich😉

Grüße

lsyncd nutze ich zum Sync auf meine QNAP auf eine NFS Freigabe. Das kopiert geänderte Dateien sofort und von dem Sync Verzeichnis erstellte ich stündlich Snapshots.

ich möchte jetzt IPS auf einem Raspberry 4 in Betrieb nehmen. Hierfür möchte ich alle relevanten Daten täglich auf einem USB Stick

mein Raspberry 4+ wehrt sich heftig gegen jegliche Art von USB-Geräten. selbst eine Korrektur des Bootsektors bringt keine Besserung

Danke für den Tipp. Hast du eine Seite mit einer guten Anleitung speziell für Buster? Ich finde mal wieder Anleitung von ewig lang bis kaum was drin ohne zu wissen, ob diese auch funktionieren:confused:

Btw: ich habe lsyncd installiert, unter /etc/lsyncd/lsyncd.conf.lua ist aber nichts vorhanden da bereits /etc/lsyncd nicht vorhanden ist. Ist da während der Installation was schief gelaufen?

Das automatische Mounten unter Raspberry ist ja auch eine Katastrophe. Ich habe diesbezüglich einen Thread im Raspberry-Forum aufgemacht, da sind drei Seiten bei herausgekommen! Viele Anleitungen im Netzt sind einfach falsch! Unter Windows ist das alles viel einfacher!
Ein USB Stick habe ich schon mal gemountet bekommen, später wieder dann nicht!?! Kann es sonst auch noch mal testen…

Grüße

Eigentlich ist das Mounten nicht so schlimm, hängt halt von den vorhandenen Rahmenbedingungen ab, also ob du ein Storage nutzt mit NFS oder USB-Stick/Platte oder …

Ich kopiere mal meine „Notizen“ hier rein:

lsyncd - Realtime Sync
Doku Lsyncd - Live Syncing (Mirror) Daemon

Installation „normal“ möglich über

sudo apt-get install lsyncd

Konfiguration über conf Datei
Mit der folgenden Konfiguration werden die angegebenen Pfade synchronisiert, die lsyncd.conf muss angelegt werden.

sudo nano /etc/lsyncd.conf

Meine Konfiguration sieht wie folgt aus
settings {
logfile = „/var/log/lsyncd.log“,
statusFile = „/tmp/lsyncd.status“,
nodaemon = false
}

sync {
default.rsync,
source = „/var/lib/symcon“,
target = „/mnt/symcon/lib“
}

sync {
default.rsync,
source = „/var/log/symcon“,
target = „/mnt/symcon/log“,
delay = 60
}

sync {
default.rsync,
source = „/root“,
target = „/mnt/symcon/root“
}

„logfile“ habe ich normalerweise auskommentiert, wenn es permanent geschrieben wird, wird die Datei sehr groß und müsste dann ordentlich ins Linux-Logmanagement integriert werden.

Das „delay“ hatte ich eingefügt, da sonst permanent das Symcon-Logfile kopiert wurde und lsyncd sich manchmal „überholt“ hat, also weitere Kopierprozesse gestartet hat. Hiermit wird (wurde) nur alle 60 Sekunden kopiert, dadurch gab es keine Überschneidungen mehr.

„wurde“ deshalb, weil seit einiger Zeit die Logfiles nicht mehr kopiert werden, scheinbar hat sich bei lsyncd oder Linux etwas verändert. Aber die Logfiles brauche ich im Notfall eh’ nicht.

NFS Share auf Storage
Konfiguration der QNAP erfolgt in der Oberfläche in Systemsteuerung/Freigabeordner und NFS in den Berechtigungen der Freigabe. Die am PI angeschlosse USB-Platte nutze ich für das lokale raspiBackup, das du ja auch schon im Einsatz hast.

PARTUUID der USB-Platte/-Stick herausfinden

blkid /dev/sda1

und in der fstab zum Mounten eintragen

sudo nano /etc/fstab

meine fstab sieht wie folgt aus
172.16.100.254:/backup /mnt/backup nfs nolock,rw 0 0
172.16.100.254:/symcon /mnt/symcon nfs nolock,rw 0 0
PARTUUID=c3072e18-01 /media/backup_usb ext4 defaults,user,rw,noatime 0 0

In crontab den automatischen Start eintragen.

sudo crontab -e

und eine Zeile mit
@reboot sudo lsyncd /etc/lsyncd.conf
einfügen.

Besten Dank für die ausführliche Anleitung!

Zwei Fragen habe ich noch: weiter oben hast du geschrieben, dass du stündlich die Daten synchronisierst, in der Config sind 60s eingetragen. Wo stelle ich es jetzt genau ein?

In Anleitungen steht was von SSH Keys. Muss ich auch welche nutzen?

Ich habe es jetzt soweit installiert. Nun wollte ich es manuell starten. Es kommt folgende Abfrage:
pi@raspberrypi:~ $ service lsyncd start
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Legitimierung ist zum Starten von »lsyncd.service« notwendig.
Multiple identities can be used for authentication:

  1. , (pi)
  2. root
    Choose identity to authenticate as (1-2): 2
    Password:
    ==== AUTHENTICATION COMPLETE ===

Synchronisiert wird aber nichts. Habe ich da noch irgendwo einen Fehler?

Meine Config sieht folgend aus:
settings {
#logfile = „/var/log/lsyncd.log“,
statusFile = „/tmp/lsyncd.status“,
nodaemon = false
}

sync {
default.rsync,
source = „/var/lib/symcon“,
target = „/home/pi/share_nas/ips_backup/lib“
}

sync {
default.rsync,
source = „/var/log/symcon“,
target = „/home/pi/share_nas/ips_backup/log“,
delay = 60
}

sync {
default.rsync,
source = „/root“,
target = „/home/pi/share_nas/ips_backup/root“
}

/share_nas hat eine root und nicht pi Berechtigung. Kann es hier ein Problem geben?

Grüße

lsyncd syncronisiert immer sofort, außer du stellst delay ein, wie oben erklärt.

Der stündliche Hinweis war nur auf die Backup-Möglichkeiten meines QNAP bezogen, das hat nichts mit lsyncd zu tun.

Habe ich nicht, das bezieht sich vermutlich auf Remote-Sessions, ich schreibe direkt auf einen freigegebenen NFS Share.

sudo service lsyncd start

Ich sehe erstmal nichts falsches, zur Fehlersuche solltest du das logfile einschalten und nutzen ;).

Hallo,

ich habe zur Initialisierung ein lsyncd Quelle -> Ziel gemacht. Danach wurden die Änderungen auch aktualisiert.

Grüße, Gerhard

Hallo,
ich habe es noch mal versucht, leider ohne Erfolg. Hier noch mal meine neue Config:

settings {
logfile = „/var/log/lsyncd.log“,
statusFile = „/tmp/lsyncd.status“,
nodaemon = false
}

sync {
default.rsync,
source = „/var/lib/symcon“,
target = „/home/pi/synctest“
}

sync {
default.rsync,
source = „/var/log/symcon“,
target = „/home/pi/synctest“,
}

Und wenn ich es starte:
pi@raspberrypi:~/synctest $ sudo nano /etc/lsyncd.conf
pi@raspberrypi:~/synctest $ service lsyncd start
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Legitimierung ist zum Starten von »lsyncd.service« notwendig.
Multiple identities can be used for authentication:

  1. , (pi)
  2. root
    Choose identity to authenticate as (1-2): 1
    Password:
    ==== AUTHENTICATION COMPLETE ===
    pi@raspberrypi:~/synctest $ ls-la
    -bash: ls-la: Kommando nicht gefunden.
    pi@raspberrypi:~/synctest $ ls-lA
    -bash: ls-lA: Kommando nicht gefunden.
    pi@raspberrypi:~/synctest $ ls -lA
    insgesamt 0
    pi@raspberrypi:~/synctest $

In der log-Datei steht leider nichts drin:confused:

Du musst den service als root starten, also mit sudo ;).

sudo service lsyncd start

Danke;)
Leider passiert auch mit sudo service lsyncd start nichts:confused: Das Log bleibt auch leer. Wie kann ich den überprüfen, ob der Dienst richtig läuft?

Grüße

Hallo,

ich habe nun noch mal versucht IPS mit lsyncd auf einen neu installierten RPI4 zum Laufen zu bekommen.
Folgende Fehlermeldung steht im lsyncd.log:

Sun May 17 16:22:47 2020 Normal: — Startup, daemonizing —
Sun May 17 16:22:47 2020 Normal: recursive startup rsync: /var/lib/symcon/ -> /home/pi/nas_share/backup_symcon/lib/
Sun May 17 16:22:47 2020 Normal: recursive startup rsync: /var/log/symcon/ -> /home/pi/nas_share/backup_symcon/log/
Sun May 17 16:22:47 2020 Normal: recursive startup rsync: /root/ -> /home/pi/nas_share/backup_symcon/root/
rsync: mkdir „/home/pi/nas_share/backup_symcon/lib“ failed: No such file or directory (2)
rsync error: error in file IO (code 11) at main.c(682) [Receiver=3.1.3]
rsync: mkdir „/home/pi/nas_share/backup_symcon/root“ failed: No such file or directory (2)
rsync error: error in file IO (code 11) at main.c(682) [Receiver=3.1.3]
rsync: mkdir „/home/pi/nas_share/backup_symcon/log“ failed: No such file or directory (2)
rsync error: error in file IO (code 11) at main.c(682) [Receiver=3.1.3]
Sun May 17 16:22:47 2020 Error: Temporary or permanent failure on startup of /var/lib/symcon/ -> /home/pi/nas_share/backup_symcon/lib/. Terminating since „insist“ is not set.

Die Verzeichnisse sind soweit richtig gemountet, ich habe als pi user darin Lese- und Schreibrechte. Warum kann rsync kein Verzeichnis per mkdir unter /home/pi/nas_share/backup_symcon/ erstellen?

Grüße

Ich sichere schon seit langer Zeit mit dem Tool „Raspibackup“ vom Rasperry auf meine Synology NAS!
Kann ich nur Empfehlen!

Ich würde behaupten, dass die Rechte nicht passen bzw. der User nicht richtig eingetragen ist.

Ich nutze NFS und die IP vom PI mit Schreibrechten, dann benötigst du keinen User und das Mounting geht genau so.

Problem gelöst!
mit diesen Eintrag in der crontab funktioniert es nun:
@reboot sleep 30 && lsyncd /etc/lsyncd.conf

Scheint, als bräuchte der Mountpunkt nach dem Neustart etwas zu lange.

Grüße