OPNsense Forum

International Forums => German - Deutsch => Topic started by: Oxygen61 on October 28, 2016, 10:59:18 pm

Title: Anleitung: Automatisiertes Backup auf einen TFTP Server
Post by: Oxygen61 on October 28, 2016, 10:59:18 pm
Hallo zusammen :)

Ich stand die letzten zwei Tage vor der Problemstellung des automatisierten Backups auf einem TFTP Server.
Da man zu dieser Problemstellung weder in der Doku noch sonst irgendwo im Netz ordentliche Anleitungen und Hilfen findet dachte ich mir,
dass ich meine Arbeit für die letzten zwei Tage auch einfach mal hier hochladen könnte,
damit andere sich die zwei Tage bei ähnlichem Aufbau sparen können. :)

Kurze Zusammenfassung meiner Aufgabe:
Sichere die derzeitige config.xml und voucher.db Datei aus dem /conf/ Ordner auf einen im Intranet erreichbaren TFTP Server. Führe die Sicherung, gekennzeichnet mit dem Datum, regelmäßig zu einer "unkritischen" Uhrzeit und ohne zusätzlichen Eingriff des Administrators aus.

Voraussetzungen:
Aufgabe ist es eine automatische Backup Routine zu erzeugen,
die es der Firewall ermöglicht die Konfiguration selbstständig auf ein TFTP Verzeichnis zu verschieben.
Hierfür ist der Zugriff auf die Shell notwendig, da über sie das Script wie auch das Template für den Cron-Job geschrieben werden müssen.
Hierfür nutzen wir SSH. (Siehe Referenzen)
Das Verzeichnis (Der TFTP Server), welches später die notwendigen Files erhalten wird muss vorher durch pings erreichbar sein,
eine Kommunikation und eine Antwortmöglichkeit darf nicht durch eine dazwischenliegende Firewall abgefangen werden.
Die Rechte des TFTP Verzeichnisses müssen zusätzlich angepasst werden.
Die notwendige Berechtigung ist „755“, bzw. „drwxr-xr-x“.
Getestet werden kann der Zugriff schon einmal ohne Script,
indem man versucht ein Textfile auf manuellem Wege zu versenden.

Kommando1: TFTP <TFTP-IP>
Kommando2: put /lokalerOrdner/Textfile.txt /remoteOrdner/Textfile.txt

Ist die Übertragung möglich gewesen kann nun mit der Automatisierung begonnen werden.

Schritt 1: Script erzeugen
Hierfür wechselt man in das richtige Verzeichnis um von dort aus das Script erstellen zu können.
Die Rechte werden angepasst und das Script wird geschrieben.

Kommando3: cd /conf/
Kommando4: touch TFTP_Backup_Script.sh
Kommando5: chmod 755 TFTP_Backup_Script.sh
Kommando6: ee TFTP_Backup_Script.sh

Nun muss folgender Code in das Script geschrieben werden:
---------------------------------------------------------------

#!/bin/sh
#Autor Oxygen61

cd /conf/
#Wechsel auf das "Backup" Verzeichnis von OPNsense

DATE=$(date +"%d-%m-%Y")
#Schreibt die aktuelle Zeit formatiert
#nach Tag-Monat-Jahr in die Variable DATE

NUM=`echo vouchers_*.db | sed 's|^\(.*vouchers_ *\)\(.*\)\( *.db.*\)$|\2|g'`
#Gibt die in dem Conf Ordner befindliche Voucher Datei aus.
#Piped diese zum „sed“ Kommando um diese so zu filtern,
#dass die Zeichen zwischen „vouchers_“ und „.db“ in die Variable „NUM“ geschrieben werden.
#Das ist notwendig, da sich diese Zeichenkette stets ändern könnte.

cp config.xml OPNsenseConfig[$DATE].xml
cp vouchers_$NUM.db vouchers_$NUM[$DATE].db
#Temporäre Kopie der Config und Voucher Datei und
#dessen Umbenennung um die Original Dateien nicht benutzen zu müssen.

tftp <TFTP-IP> << EOF
mode binary
put /conf/OPNsenseConfig[$DATE].xml /remoteOrdner/OPNsenseConfig[$DATE].xml
put /conf/vouchers_$NUM[$DATE].db /remoteOrdner/vouchers_$NUM[$DATE].db
quit
EOF
#Kopiervorgang auf den TFTP Server im Ordner /remoteOrdner/

cd /conf/
rm OPNsenseConfig[$DATE].xml
rm vouchers_$NUM[$DATE].db
#Loeschen der temporaer erstellten .xml und .db Datei

if [ "$?" != "0" ];
 then
   echo "[Error] Es ist ein Fehler aufgetreten beim Kopieren!" 1>&2;
   exit 1;
 else
  echo "[Success] Konfiguration erfolgreich kopiert!";
fi
#Überprüfen der Variable $?, um entscheiden zu können,
#ob beim Kopiervorgang ein Fehler auftrat.


-------------------------------------------------------------------

Kommando7: Strg+C
Kommando8: exit > Enter

Schritt 2: Eigenständiges Cron Job Template/Preset für die GUI erstellen
Das Shell Script für das Backup wurde geschrieben und sollte ausgeführt mit
„./TFTP_Backup_Script.sh“ die Ausgabe "[Success] Konfiguration erfolgreich kopiert!" liefern.
Kam es hierbei zu keinerlei Fehlermeldungen kann nun mit der Erstellung des Cron Job Templates begonnen werden.
Hierfür muss eine neue action im action.d Ordner erzeugt werden.

Kommando9: cd /usr/local/opnsense/service/conf/actions.d
Kommando10: touch actions_backup.conf
Kommando11: ee actions_backup.conf

Inhalt dieser Conf Datei muss nun folgendes sein:
-------------------------------------------------------------------

[start]
command:/conf/TFTP_Backup_Script.sh start
parameters:
type:script
message:Kopiere Backup auf TFTP
description:Kopiere Backup auf TFTP


Kommando12: Strg+C
Kommando13: exit > Enter
Kommando14: service configd restart
Kommando15: configctl backup start

Die Rückgabe sollte “[OK]” liefern.
Alles funktionierte demnach ohne Fehler.

Schritt 3: Zeiten festlegen
Das Cron Template ist nun ebenfalls geschrieben und durch das Neustarten des Config-Daemons
wurde dieser in die Web-GUI mit ein gepflegt und kann nun von dort aus enabled werden.
Auf der Webseite: https://<LAN-WEBGUI-IP>/ui/cron/ befinden sich alle Cron Jobs aufgelistet.
Es wird ein neuer Cron Job durch das Klicken auf „+“ erstellt.
Dieser wird „enabled“ und zeitlich eingeordnet.
In diesem Fall soll dieser jeden Tag ohne Einschränkungen um genau 2:00 Uhr ausgeführt werden.
Dazu muss unter „Hours“ 2 stehen.
Als Command Template kann nun die zuvor erstellte Vorlage namens „Kopiere Backup auf TFTP“ ausgewählt werden.
Mit „Save Changes“ und "Apply" kann dieser Job nun aktiviert und in den Betrieb genommen werden.

-------------------------------------------------------------------

EDIT:

Diese Umsetzung überträgt ohne Ende Backups ohne diese zu einem späteren Zeitpunkt zu löschen.
Da innerhalb der TFTP Übertragung nur einige Kommandos erlaubt werden,
gibt es keine Möglichkeit nach der Übertragung gleich mit der Löschung veralteter Backups zu beginnen.
Einige hatten jedoch danach gefragt und hier ist meine alternative Lösung, die etwas "weniger elegant" ist.

Hierfür muss ein neues Script erstellt werden, welches im Round Robin Verfahren,
zwar keine Dateien löscht, diese aber überschreibt.
Die Zeitstempel können, daher nur noch mithilfe des "ls -l" Kommando ausgelesen werden
und sind nicht länger nur anhand des Namens bereits erkennbar.

Code der in das RR Script geschrieben werden muss:
---------------------------------------------------------------

#!/bin/sh
#Autor Oxygen61

cd /conf/
#Wechsel auf das "Backup" Verzeichnis von OPNsense

if [ ! -f "/conf/RRVariable.dat" ]; then
  RRVariable=1
else
  RRVariable=`cat /conf/RRVariable.dat`
fi
#Falls die Datei nicht existiert, soll sie in /conf/ angelegt werden
#und der Inhalt der Datei mit 1 anfangen.
#Falls die Datei schon existiert, soll der derzeitige Wert ausgelesen werden

NUM=`echo vouchers_*.db | sed 's|^\(.*vouchers_ *\)\(.*\)\( *.db.*\)$|\2|g'`

cp config.xml OPNsenseConfig[$RRVariable].xml
cp vouchers_$NUM.db vouchers_$NUM[$RRVariable].db
#Kopieren der Config und Voucher Datei und dessen Umbenennung

tftp <TFTP-IP> << EOF
mode binary
put /conf/OPNsenseConfig[$RRVariable].xml /remoteOrdner/OPNsenseConfig[$RRVariable].xml
put /conf/vouchers_$NUM[$RRVariable].db /remoteOrdner/vouchers_$NUM[$RRVariable].db
quit
EOF

cd /conf/
rm OPNsenseConfig[$RRVariable].xml
rm vouchers_$NUM[$RRVariable].db
#Loeschen der temporaer erstellten .xml und .db Datei

if [ $RRVariable -ge 30 ]; then
  RRVariable=1
else
  RRVariable=`expr ${RRVariable} + 1`
fi

echo "${RRVariable}" > /conf/RRVariable.dat
#Überprüfe ob die Variable größer oder gleich 30 ist
#und setze sie gegebenenfalls auf 1 zurück oder erhoehe die RRVariable um 1
#Speichere die Variable in der .dat Datei für den nächsten Aufruf
#Die 30 gibt an, wieviele Backups angelegt werden sollen,
#bevor das Script anfängt veraltete Backups zu überschreiben

if [ "$?" != "0" ];
  then
    echo "[Error] Es ist ein Fehler aufgetreten beim Kopieren!" 1>&2;
    exit 1;
  else
    echo "[Success] Konfiguration erfolgreich kopiert!";
fi


-------------------------------------------------------------------

Kommando7: Strg+C
Kommando8: exit > Enter

Die restlichen Schritte müssen logischer Weise entsprechend angepasst werden.

-------------------------------------------------------------------

FAQ:

Q: Verschwindet das Script oder der Cron Job nach einem reboot?
A: OPNsense kann problemlos rebootet werden ohne Probleme.

Q: Entstehen Probleme nach einem Update?
A: Keine Probleme festgestellt. 

Q: Kann nicht auch einfach das gesamte /conf/ Verzeichnis gesichert werden?
A: Natürlich, jedoch war dies in meiner Produktivumgebung nicht gewünscht.

Q: Gibt es eine bessere Alternative als TFTP?
A: Secure Copy (scp) wäre die bessere Alternative (Verschlüsselung).
     Sofern durch DMZ Firewall Regeln sichergestellt werden kann,
     dass Man-In-The-Middle Angriffe selbst innerhalb der Firma nicht möglich sind
     sollte TFTP jedoch kein Problem darstellen.

-------------------------------------------------------------------

Referenzen:
https://forum.opnsense.org/index.php?topic=2263.0 (https://forum.opnsense.org/index.php?topic=2263.0)
https://docs.opnsense.org/development/examples/helloworld.html?highlight=configd (https://docs.opnsense.org/development/examples/helloworld.html?highlight=configd)
https://forum.opnsense.org/index.php?topic=1930.0 (https://forum.opnsense.org/index.php?topic=1930.0)
Title: Re: Anleitung: Automatisiertes Backup auf einen TFTP Server
Post by: franco on October 30, 2016, 05:17:12 pm
Hallo Oxygen61,

Vielen Dank an dieser Stelle für die perfekte Beschreibung! Habe den Beitrag als sticky markiert, damit er nicht in den untiefen des Forums verschwindet. Wäre schade. :)

Kleine Anmerkungen:

Aktuell haben wir die editoren vim-lite, nano und joe zum installieren auf der Box:

# pkg install EDITORNAME

> Entstehen Probleme nach einem Update?

Sofern die Datei "actions_backup.conf" nicht von uns angelegt bleibt das auch bei allen Updates erhalten. Vielleicht könnte man etwas spezieller werden, z.B. "actions_tftp-backup.conf".

SFTP und SCP sind gute Archivierungslösungen, benötigen dann aber am besten SSH Keys damit das ganze passwortlos automatisiert übertragen werden kann. Ansonsten geht auch simples HTTP(S) mit CURL oder vieles andere.


Grüsse
Franco

Title: Re: Anleitung: Automatisiertes Backup auf einen TFTP Server
Post by: Oxygen61 on October 30, 2016, 05:24:01 pm
Hallo Franco,

vielen dank für die Ergänzungen und auch das Hintergrundwissen bezüglich der "actions" Dateien.
Soll ich den oberen Beitrag dementsprechend noch anpassen/verändern? :)

Schöne Grüße
Oxygen61
Title: Re: Anleitung: Automatisiertes Backup auf einen TFTP Server
Post by: franco on October 30, 2016, 05:33:33 pm
Hallo Oxygen61,

Kann schon so bleiben, wollte nur die Frage präzise beantworten. :)


Grüsse
Franco
Title: Re: Anleitung: Automatisiertes Backup auf einen TFTP Server
Post by: Micky on December 17, 2016, 07:47:21 pm
Guten Abend,

erstmal dickes Danke an Oxygen für das Backup-Skript. Nach etwas Anlaufschwierigkeiten konnte ich nach dem gleichen Prinzip auch das Sichern der access.log (Squid) realiseren.

Vielen Dank für das Tipp.

Grüße M.

Title: Re: Anleitung: Automatisiertes Backup auf einen TFTP Server
Post by: Oxygen61 on December 20, 2016, 08:24:27 am
Hey Micky,

klingt doch super. Am Ende muss jeder selber schauen was er sichert. :)
Ich hab eigentlich vor, das ganze noch auf SFTP zu "upgraden", jedoch fehlt mir dazu die Zeit.
Falls ich da Fortschritte mache, poste ich es hier.
Title: Re: Anleitung: Automatisiertes Backup auf einen TFTP Server
Post by: JeGr on February 22, 2018, 01:17:38 pm
Weil ich gerade darüber stolpere:

@Oxy: Per SFTP kannst du im Normalfall sogar auf das Skript verzichten. Der Befehl um die Konfig und ggf. Vouchers zu sichern lässt sich da recht gut in einen Einzeiler packen. Einzig der Benutzer, der das macht und dessen SSH key müssten vorher auf die Box, alles andere geht dank SSH Key Login auf dem Zielsystem ganz automatisch.
Title: Re: Anleitung: Automatisiertes Backup auf einen TFTP Server
Post by: Oxygen61 on February 28, 2018, 10:10:06 pm
Hi JeGr,

ich hab zwar leider weder die Kiste mehr, wo ich das mal eingestellt hatte noch eine Idee wie du das in einen Einzeiler packen willst, aber nur zu. Wenn du da eine kleine Step-By-Step Anleitung hast, schreib ich die gerne mit in die obige Anleitung. ;)
Bist ja jetzt Moderator.. nur zu. Verschönere diese Anleitung mit SFTP. ;D

Schöne Grüße
Oxy :)
Title: Re: Anleitung: Automatisiertes Backup auf einen TFTP Server
Post by: JeGr on March 06, 2018, 12:14:25 pm
Im Prinzip muss man initial grob so vorgehen: (ich gehe von einem Debian/Ubuntu als Ziel aus, aber ich denke man kann das je nach Wunsch abstrahieren auf andere OS/Plattformen mit SSH :) )

1: Backup-System

Code: [Select]
# Enter as root or use sudo
root@senseBackup:~# adduser rbackup
Adding user `rbackup' ...
Adding new group `rbackup' (1002) ...
Adding new user `rbackup' (1002) with group `rbackup' ...
Creating home directory `/home/rbackup' ...
Copying files from `/etc/skel' ...
Enter new UNIX password: ***
Retype new UNIX password: ***
passwd: password updated successfully
Changing the user information for rbackup
Enter the new value, or press ENTER for the default
        Full Name []: Remote Backup User for *sense systems
        Room Number []:
        Work Phone []:
        Home Phone []:
        Other []:
Is the information correct? [Y/n] Y

# switch to new user
root@senseBackup:~# su - rbackup

# create ED25519 key
rbackup@senseBackup:~$ ssh-keygen -t ed25519
Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/rbackup/.ssh/id_ed25519): <ENTER>
Enter passphrase (empty for no passphrase): <ENTER>
Enter same passphrase again: <ENTER>
Your identification has been saved in /home/rbackup/.ssh/id_ed25519.
Your public key has been saved in /home/rbackup/.ssh/id_ed25519.pub.
The key fingerprint is:
da:82:4c:cc:e3:e9:c7:ef:ad:96:45:58:c0:4f:46:49 rbackup@senseBackup
The key's randomart image is:
+--[ED25519  256--+
|       ..+E.     |
|        . =      |
|         *       |
|   o    . o      |
|    =   S.       |
|   + + o  .      |
|    =.o .o       |
|   .  o.o.       |
|    .. ++..      |
+-----------------+

# copy public key to authorized_keys for pw-less connect
rbackup@senseBackup:~$ cp .ssh/id_ed25519.pub .ssh/authorized_keys

2: *sense-System:

3: Backup-System

Code: [Select]
# copy SSH key to *sense system:
rbackup@senseBackup:~$ scp .ssh/id_ed25519* <senseIP>:~/.ssh/
Password for rbackup@OPNsense.localdomain: ***
id_ed25519                                                                            100%  411     0.4KB/s   00:00
id_ed25519.pub                                                                        100%   97     0.1KB/s   00:00

# connect to *sense with SSH again...
rbackup@senseBackup:~$ ssh 10.0.200.223
Password for rbackup@OPNsense.localdomain: ***
Last login: Tue Mar  6 10:58:44 2018 from 10.100.250.250
----------------------------------------------
|      Hello, this is OPNsense 18.1          |         @@@@@@@@@@@@@@@
|                                            |        @@@@         @@@@
| Website:      https://opnsense.org/        |         @@@\\\   ///@@@
| Handbook:     https://docs.opnsense.org/   |       ))))))))   ((((((((
| Forums:       https://forum.opnsense.org/  |         @@@///   \\\@@@
| Lists:        https://lists.opnsense.org/  |        @@@@         @@@@
| Code:         https://github.com/opnsense  |         @@@@@@@@@@@@@@@
----------------------------------------------

# now test connection back to the backup-system:
rbackup@OPNsense:~ % ssh <senseBackup-IP>
The authenticity of host '<senseBackup-IP> (<senseBackup-IP>)' can't be established.
ECDSA key fingerprint is SHA256:TFXVlGG5SwrM/wyWxNSu3NmWtgY8t9w+wxDk39mGL7Q.
No matching host key fingerprint found in DNS.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.100.250.250' (ECDSA) to the list of known hosts.

rbackup@senseBackup:~$
# it's working!

# add a directory or directory structure for your backup(s)
rbackup@senseBackup:~$ mkdir -p opnsense/<hostname>

# exit Backup system
rbackup@senseBackup:~$ exit

# back on OPNsense system test backing up via simple one-liner:
rbackup@OPNsense:~ % scp /conf/config.xml <senseBackup-IP>:~/opnsense/<hostname>/
config.xml                                                                            100%   57KB  19.2MB/s   00:00

# should copy without asking for password
# now exit back to the senseBackup system:
rbackup@OPNsense:~ % exit

# check for backup file:
rbackup@senseBackup:~$ ls -la opnsense/<hostname>/
total 68
drwxrwxr-x 2 rbackup rbackup  4096 Mar  6 11:32 .
drwxrwxr-x 3 rbackup rbackup  4096 Mar  6 11:31 ..
-rw-r--r-- 1 rbackup rbackup 58792 Mar  6 11:32 config.xml


Wenn wir soweit sind, ist das OPNsense System in der Lage automatisiert ohne Passwort o.ä. seine Konfiguration auf das Zielsystem zu schieben.

Daher muss man jetzt eigentlich nur noch seine Dateien und Präferenzen der Sicherung in einen Cron gießen:

Nach dem letzten Schritt oben, sind wir noch via SSH als rbackup User auf der OPNsense Konsole:
Code: [Select]
# edit user rbackups crontab
rbackup@OPNsense:~ # crontab -e

# add the following lines to the bottom of the file:

# rbackup configuration backup to senseBackup:
5 <tab> 0,12 <tab> * <tab> * <tab> * <tab> scp /conf/config.xml <senseBackup-IP>:~/opnsense/<hostname>/

### example:
5     0     *     *     *     scp /conf/config.xml 10.0.0.123:~/opnsense/fw01/

Damit sollte somit jeden Tag um 5min nach 0 bzw. 12 Uhr die aktuelle config.xml auf das <senseBackup> System nach /home/rbackup/opnsense/<hostname>/ geschrieben werden (als Beispiel). Hat man mehrere Sensen, kann man das bei jeder einrichten und entsprechend den <hostname> anpassen, damit hat man dann eine zentrale Sicherung aller Kisten.

Wenn man jetzt die Konfiguration noch rotieren und aufbewahren möchte, könnte man auf das gesamte Verzeichnis /home/rbackup/opnsense/... noch bspw. ein Logrotate konfigurieren, der jede Nacht dann VOR dem Backup die Datei rotiert (nach üblicher logrotate Art .1 .2 .3 etc.) und kann dann einstellen, wie viele Konfigurationen man rotieren möchte. Oder man nutzt das Verzeichnis auf dem <senseBackup> System um bspw. die Konfiguration in einem nächsten Schritt in ein Repository einzupflegen (GIT, SVN o.ä.) oder in einem DMS abzulegen. Möglichkeiten gibt es genug. Man kann natürlich auch in der Crontab Befehlszeile noch mehr als nur die config.xml sichern oder/und beim Ziel dann gleich noch den Zieldateinamen angeben und dort dann einen Timestamp mit einbetten, so dass die config.xml als config-20180203.xml gespeichert wird. Das ist dann eigenes gusto, dann würde ich nur aufpassen, dass man auf das Verzeichnis irgendeinen Cleanup Job baut, der dann die dutzende Konfigurationen irgendwann archiviert oder aufräumt.

Aber so kann man dann mit ein wenig händischer Vorarbeit problemlos mit einer CRON Zeile das Backup automatisiert abwickeln und muss auch nur diese Stelle anpassen. Auf weiteren Sense Systemen ist das dann einfach auszurollen: User anlegen, Keys kopieren, Crontab editieren.

Leider kann man (noch?) bei OPNsense im Gegensatz zum Cron Package der pfSense keinen eigenen Cron Job in der UI definieren (mit eigenem Command), so dass man hier auf der Konsole arbeiten muss. Wenn es die Möglichkeit gäbe, nicht nur den Authorized Key, sondern auch Pub/Private Keys für einen User zu hinterlegen und völlig eigene Cron Jobs zu definieren, dann könnten die Schritte unter (4) alle via Oberfläche abgewickelt und entsprechend auch ex- und importiert werden.

Grüße
Title: Re: Anleitung: Automatisiertes Backup auf einen TFTP Server
Post by: Oxygen61 on March 17, 2018, 09:54:27 pm
Hammer! Das sieht doch gut aus. :)
Vielen Dank dir wie immer. Wollte dich nur ein bisschen foppen und hätte nicht gedacht, dass du da wirklich eine Schritt für Schritt Anleitung runter schreibst. :P

Mal schauen ob ich das auch für einen Windows Fileserver umgesetzt kriegt, aber danke dir! :)

Viele Grüße,
Oxy
Title: Re: Anleitung: Automatisiertes Backup auf einen TFTP Server
Post by: franco on March 20, 2018, 08:01:19 am
Cron Jobs kann man über den Backend-Dienst hinzufügen:

https://docs.opnsense.org/development/backend/configd.html

Ein Kommando in dieser actions_xxx.conf kann dann mit "description:" versehen werden, was den Nebeneffekt der Wählbarkeit in der Cron GUI mit sich bringt.

Das ist bewusst nicht über die GUI erreichbar, weil es für die Plugin-Entwicklung gedacht ist.


Grüsse
Franco
Title: Re: Anleitung: Automatisiertes Backup auf einen TFTP Server
Post by: JeGr on March 20, 2018, 09:54:48 am
@Franco: Ah das wäre noch eine Möglichkeit, danke :) Evtl. wäre es denkbar/schön, wenn man einfach "custom command" ähnlich dem pfSense Cron Package zur Verfügung hätte, das würde es zumindest einfacher machen, ohne gleich programmatisch "einzugreifen".

Aber irgendwie sehe ich da auch bei den actions_ nur die, die eine "description" angegeben haben. Das ist so auch ein wenig willkürlich welche erscheinen und welche nicht, oder? Das Command taucht nicht auf wenn es keine description hat? Oder nach welcher Logik erscheinen da die Sachen in Cron?
Title: Re: Anleitung: Automatisiertes Backup auf einen TFTP Server
Post by: franco on March 20, 2018, 08:09:11 pm
Genau, nur die Jobs mit Description tauchen in der GUI auf.

Die statischen Dateien machen den Sprung zum Plugin kleiner. Die ehemaligen Custom-Commands in der config.xml helfen dabei nicht und sind schlechter zu warten/kontrollieren/einzuschränken (priv-sep). rc.syshook gibt es auch noch:

https://docs.opnsense.org/development/backend/autorun.html#syshook

Letztlich auch hier der Vorteil, dass die config.xml z.B. beim Revert oder Import nicht das Systemverhalten beeinflusst.


Grüsse
Franco
Title: Re: Anleitung: Automatisiertes Backup auf einen TFTP Server
Post by: JeGr on March 21, 2018, 09:19:58 am
Heißt aber im Umkehrschluß auch, dass sowas sinnvollerweise am Besten als Paket zu machen wäre, weil es sonst nicht im Backup des Systems drin ist - oder man ins Backup (der Konfiguration) noch zusätzliche Dateien aufnehmen muss (was nicht so wahnsinnig komfortabel ist), korrekt?
Title: Re: Anleitung: Automatisiertes Backup auf einen TFTP Server
Post by: franco on March 21, 2018, 05:11:36 pm
Ja, stimmt schon. Es gibt jetzt eine interne API für Backup Tools auf Grund der Anfragen. Wir haben dann Nextcloud und SCP als nächste Erweiterungen. Wenn dann alles im Release ist wird es nicht einmal ein Plugin benötigen und die Einstellungen der entsprechenden Features landen dann im config.xml und ziehen dann mit um ab spätestens 18.7.


Grüsse
Franco
Title: Re: Anleitung: Automatisiertes Backup auf einen TFTP Server
Post by: JeGr on March 21, 2018, 05:26:06 pm
Das ist natürlich noch eleganter :)