-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG
executable file
·296 lines (239 loc) · 28.2 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
Basic Backup Release Notes
Version 0.7-350 vom 17.06.2023
- Deutsch
- Update Bootstrap Framework auf 5.3.0
- Update Bootstrap JavaScript auf 5.3.0
- Update Bootsrap Icons auf 1.10.5
- Update jQuery auf 3.7.0
- Kleinere Codeoptimierungen in der BasicBackup.js vorgenommen.
- In der Auftragsübersicht wurde das aufklappbare Menü eines jeden Auftrages neu formatiert.
- Englisch
- Update Bootstrap Framework to 5.3.0
- Update Bootstrap JavaScript to 5.3.0
- Update Bootsrap Icons to 1.10.5
- Update jQuery to 3.7.0
- Made minor code optimizations in BasicBackup.js
- In the job overview, the drop-down menu of each job has been reformatted.
Version 0.7-250 vom 20.03.2023
- Deutsch
- iFrame-Unterstützung für DSM 7.2 integriert.
- Englisch
- iFrame support for DSM 7.2 integrated
Version 0.7-210 vom 18.03.2023
- Deutsch
- Das Trennen und Auswerfen, ext. Datenträger wird nun durch den von Synology eigens bereitgestellten Befehl synousbdisk übernommen.
- Nach der Ausführung von synousbdisk wird dessen Systemrückmeldung im AutoPilot-Protokoll angezeigt, wie z.B. „Unmount USB device usb1 succeeded.“, sollte das Auswerfen erfolgreich gewesen sein.
- Einlaufende Exit Error Codes, die beim fehlerhaften Ausführen des AutoPilot-Scriptes auftreten können, werden ebenfalls im AutoPilot-Protokoll angezeigt.
- Die mit AutoPilot verbundenen Sprachdateien, wurden optimiert.
- Englisch
- The unmounting and ejecting, ext. disks is now handled by Synology's own synousbdisk command.
- After synousbdisk is executed, its system feedback is displayed in the AutoPilot log, such as "Unmount USB device usb1 succeeded.", should the ejection have been successful.
- Incoming exit error codes that may occur when the AutoPilot script runs incorrectly are also displayed in the AutoPilot log.
- The language files associated with AutoPilot, have been optimized.
Version 0.7-200 vom 17.03.2023
- Deutsch
- Die AutoPilot Funktion wurde nochmal komplett überarbeitet und größtenteils umgeschrieben. Daraus haben sich nachfolgende Änderungen bzw. Verbesserungen ergeben.
- Nach dem einstecken eines ext. Datenträgers tritt das AutoPilot Protokoll erst in Aktion, wenn ein AutoPilot Script gefunden wurde.
- Das AutoPilot Script kann sich dabei im jeweiligen Hauptordner aller eingehängten Partitionen eines ext. Datenträgers befinden.
- Sollte das lokalisierte AutoPilot Script nicht über die benötigen Rechte zum Ausführen verfügen, wird eine Fehlermeldung ins Protokoll geschrieben sowie eine DSM-Benachrichtigung ausgegeben.
- Ein ext. Datenträger wird nur noch dann ausgeworfen, wenn alle Aufgabe(n) fehlerfrei abgearbeitet wurde(n) und die entsprechende Option in der AutoPilot Konfiguration ausgewählt wurde. Ansonsten wird eine entsprechende Meldung ins Protokoll geschrieben sowie eine DSM-Benachrichtigung ausgegeben.
- Wird eine Aufgabe durch eine "exit 100" Anweisung manuell beendet, wird das Auswerfen des ext. Datenträger nur dann eingeleitet, wenn im Vorfeld alle Partitionen getrennt werden konnten. Ansonsten wird eine entsprechende Meldung ins Protokoll geschrieben sowie eine DSM-Benachrichtigung ausgegeben.
- Ein ext. Datenträger wird nur noch dann ausgeworfen, wenn im Vorfeld alle eingehängten Partitionen ordnungsgemäß getrennt werden konnten. Ansonsten wird eine Fehlermeldung ins Protokoll geschrieben und eine DSM-Benachrichtigung ausgegeben, das der ext. Datenträger nicht ausgeworfen werden konnte.
- Der Aufbau und die Ausgabe von AutoPilot Protokolleinträgen und die damit verbundenen Sprachdateien, wurden optimiert.
- Die Ausgabe von Informationen und Warnungen über die DSM-Benachrichtigungen und die damit verbundenen Sprachdateien, wurden optimiert.
- Allgemeine Fehler und Probleme bei der Ermittlung und Verarbeitung zum einhängen und trennen von ext. Datenträgern behoben.
- Weitere allgemeine sowie spezielle Fehlerbereinigungen, Codeoptimierungen und Designanpassungen vorgenommen.
- Mein besonderer Dank gilt dem Benutzer @luddi (aus dem deutschen Synology Support Forum), der mich bei der o.a. Umsetzung tatkräftig mit konstruktiver Kritik und Feedback, vor allem aber mit ein paar netten Codeschnipseln und RegEx Auswüchsen unterstützt hat. Vielen Dank dafür
- Englisch
- The AutoPilot function has been completely revised and rewritten for the most part. This has resulted in the following changes and improvements.
- After inserting an ext. data medium, the AutoPilot protocol only goes into action when an AutoPilot script has been found.
- The AutoPilot script can be located in the respective main folder of all mounted partitions of an ext. data medium.
- If the localized AutoPilot script does not have the necessary rights to run, an error message is written to the log and a DSM notification is issued.
- An ext. data carrier will only be ejected if all task(s) have been processed without errors and the corresponding option has been selected in the AutoPilot configuration. Otherwise, a corresponding message is written to the log and a DSM notification is output.
- If a task is terminated manually by an "exit 100" statement, the ejection of the ext. data medium is only initiated if all partitions could be separated beforehand. Otherwise, a corresponding message is written to the log and a DSM notification is issued.
- An ext. volume is only ejected if all mounted partitions could be properly unmounted beforehand. Otherwise, an error message is written to the log and a DSM notification is issued that the ext. volume could not be ejected.
- The structure and output of AutoPilot log entries and the associated language files have been optimized.
- The output of information and warnings about the DSM notifications and the associated language files have been optimized.
- General bugs and problems with the detection and processing for mounting and unmounting ext. disks have been fixed.
- Other general as well as specific bug fixes, code optimizations and design adjustments made.
- Special thanks to the user @luddi (from the German Synology Support Forum), who supported me with constructive criticism and feedback, but most of all with some nice code snippets and regex outgrowths. Many thanks for that
Version 0.7-085 vom 11.03.2023
- Deutsch
- Update jQuery auf 3.6.4
- Verwendete DSM Versionnummer dem Auftragsprotokoll hinzugefügt.
- Der Menüleiste den Reiter Protokolle hinzugefügt, um den Zugriff auf das System- und AutoPilot-Protokoll zu erleicherten.
- App-Beschreibung in der Systemdatei ../ui/config korrigiert
- Wert type=legacy nach type=url in der Systemdatei ../ui/config geändert, da die App unter DSM 7.2 aktuell nur in einem neuen Tab geöffnet werden kann.
- Aufträge wurden zum Teil nicht bzw. fehlerhaft ausgeführt, wenn diese über die AutoPilot Funktion ausgelöst wurden. Fehler sollten behoben sein.
- Während der Auftragserstellung bzw. Bearbeitung wurde eine Funktion eingebaut um die UUID externer Datenträger auf eine gültige Formatierung hin zu überprüfen.
UUID-Format: 128-Bit-Hexadezimalzahl mit 32 Ziffern im Format 8-4-4-4-12 bzw. xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
VSN Format: 32-Bit-Hexadezimalzahl mit 8 Ziffern im Format 4-4 bzw. xxxx-xxxx
ntfslabel Serial half or full Format: 32 bzw. 64 Bit Hexadezimalzahl mit 8 bzw.16 Stellen im Format 8 xxxxxxxx bzw. 16 xxxxxxxxxxxxxxxx
- Kleinere Fehler behoben
- Engish
- Update jQuery to 3.6.3
- Added used DSM version number to the job log.
- Added the Logs tab to the menu bar to facilitate access to the System and AutoPilot logs.
- App description in system file ../ui/config corrected
- Changed value type=legacy to type=url in system file ../ui/config, because the app can currently only be opened in a new tab under DSM 7.2
- Some jobs were not executed or were executed incorrectly when they were triggered via the AutoPilot function. Errors should be fixed.
- During job creation or editing, a function has been added to check the UUID of external media for valid formatting.
UUID format: 128-bit hexadecimal number with 32 digits in the format 8-4-4-12 or xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxxxx
VSN format: 32-bit hexadecimal number with 8 digits in the format 4-4 or xxxx-xxxx
ntfslabel Serial half or full Format: 32 resp. 64 bit hexadecimal number with 8 resp.16 digits in the format 8 xxxxxx resp. 16 xxxxxxxxxxxx
- Minor bugs fixed
Version 0.7-035 vom 17.02.2023
- Es wurde ein Problem behoben, bei dem die Ordner "Hauptversion" und/oder "Versionsverlauf" teils nicht erstellt wurden.
- Sollte das Anlegen eines neuen Eintrages im Versionsverlauf fehlschlagen, wird eine Meldung im Protokoll ausgegeben.
- Der interne Versionsvergleich zwischen App, Auftrag und rsync-Skript, zum Anzeigen möglicher Updates wurde vereinfacht.
- Weitere Code Bereinigungen im rsync-Script sowie Ergänzungen in den Sprachdateien vorgenommen.
Version 0.7-000 vom 15.02.2023
- Update Bootstrap Framework auf 5.2.3
- Update Bootstrap JavaScript auf 5.2.3
- Update Bootsrap Icons auf 1.10.3
- Update jQuery auf 3.6.3
- Installscripte überarbeitet
- Hinweis in der Hilfe ergänzt, das bei falsch gestzten Gruppen- und Ordnerrechten des eigenen Benutzer-Home-Ordners, eine SSH-Verbindung scheitern kann.
- Kleinere Fehler und Unstimmigkeiten im Quellcode bereinigt.
- Es wurden diverse Anpassungen an der Paketstruktur vorgenommen, um Basic Backup zukünftig vollständig über das [ Synology Package Framework ] verwalten zu können.
- Bedingt durch diese Anpassungen lässt sich nun das GitHub Repository von Basic Backup problemlos in das [ Synology Toolkit ] clonen, bearbeiten sowie neu packen, ohne irgendwelche Änderungen an der Paketstruktur vornehmen zu müssen.
- Die interne Überprüfung der Benutzer Privilegien wurde deaktivert, da diese Funktion für den Betrieb von Basic Backup nicht relevant ist.
Version 0.6-500 vom 02.11.2022
- Update Bootstrap Framework auf 5.2.2
- Update Bootstrap JavaScript auf 5.2.2
- Update Bootsrap Icons auf 1.9.1
- Update jQuery auf 3.6.1
- SMTP-Debug Mode hinzugefügt. Wird dem Befehl zum ausführen eines Auftrages der Optionsschalter -v angehangen, werden neben den breits vorhandenen, erweiterten Ausgaben, nun auch ausführlichere Informationen zum Verbindungsaufbau sowie dem Versand einer E-Mail per SMTP ausgegeben.
Version 0.6-400 vom 24.04.2022
- Ändern der Art und Weise, wie Basic Backup einer Gruppe hinzugefügt werden kann, um Ordner-, Datei- und Systemrechte zu erweitern (App-Berechtigungen).
- Die App-Berechtigungen können ab sofort, falls gewünscht, wieder entzogen werden. Basic Backup wird dabei aus der entsprechenden Gruppe entfernt.
- Die Beschreibung zum erweitern bzw. beschränken der App-Berechtigungen wurde in die interne Hilfe verschoben.
- Die Beschreibung zum (de)-aktivieren der USB/SATA-Autopilot Funktion wurde in die interne Hilfe verschoben.
- Die Beschreibung zum einrichten eines externen USB/SATA-Datenträgers für AutoPilot wurde in die interne Hilfe kopiert.
Version 0.6-300 vom 15.04.2022
- Es wurde der Vorgang beschrieben, wie man über die File Station der "autopilot" Datei das Attribut "ausführbar" vergeben kann.
- UUID eines SATA-Datenträgers wurde nicht ausgelesen. Fehler wurde behoben.
- Über die Optionsschalter -v, -vv sowie -vvv werden neben den erweiterten rsync Protokollen nun auch SSH Verbindungsprotokolle für den Debugging Mode 1, 2 und 3 ausgegeben.
Version 0.6-200 vom 18.03.2022
- Basic Backup wird ab sofort als Repository auf GitHub angeboten. Zu diesem Zweck wurden einige interne App-Einstellungen angepasst.
- App Versions Check implementiert. Es wird anhand der INFO Datei geprüft, ob auf GitHub eine neue Version von Basic Backup verfügbar ist.
Version 0.6-100 vom 15.03.2022
- Der Status der App-Berechtigung in der Systemumbebung von Basic Backup wurde angepasst.
- Bei der Auswertung, ob ein Auftrag aktuell ausgeführt wird oder nicht, wurden alle Aufträge, die mit dem selben Wortlaut begannen, als aktiv gekennzeichnet. Fehler wurde behoben.
- AutoPilot: Der Aufruf des Scriptes autopilot erfolgt nicht mehr über den Befehl bash.
- AutoPilot: Sollte beim Einstecken eines externen Datenträgers kein Gerätename aus der udev Regel übergeben werden, kein autopilot Script gefunden oder das autopilot Script nicht ausgeführt werden können, wird AutoPilot abgebrochen. Der externe Datenträger wird in diesem Fall nicht ausgeworfen, selbst wenn diese Option aktivert wurde.
- AutoPilot: Beim einstecken eines beliebigen externen Datenträgers auf dem sich aber kein autopilot Script befand, wurde fälschlicher Weise die optische- und akustische Signalausgabe ausgelöst, wenn diese Option aktivert war. Fehler wurde behoben.
Version 0.6-001 23.02.2022
- Bei der Umstellung des Sprachdateisystem wurde versäumt, die Hilfe-Dateien entsprechend anzupassen. Fehler wurde behoben.
Version 0.6-000 vom 19.02.2022
- Upgrade der Bootstrap Icons von 1.7.2 nach 1.8.1
- Schriftgröße der GUI von 1 rem auf 0.9 rem umgestellt.
- Implementierung von USB/SATA-AutoPilot. Mit dieser Funktion kann nach dem anstecken eines externen Datenträgers eine Scriptdatei automatisch ausgeführt werden um z.B. einen Basic Backup Auftrag abzuarbeiten, oder um andere Befehle oder Scripte auszuführen. Nach dem das Script durchgelaufen ist, kann der externe Datenträger bei Bedarf wieder automatisch ausgeworden werden. Die AutoPilot Funktion ist somit vergleichbar mit der 3rdParty App "autorun". Das Ausführungsscript heißt aber nicht autorun sondern autopilot und muss ebenfalls im root Verzeichnis des externen Datenträgers abgelegt werden.
- Liegt das Datensicherungsziel auf einem extern angeschlossenen USB/SATA-Datenträger kann es passieren, das sich der ursprüngliche Einhängepunkt (Mountpoint) wie z.B. /volumeUSB1/usbshare beim nächsten anstecken nach z.B. /volumeUSB2/usbshare ändert. Das würde dazu führen, das die Datensicherung entweder abbricht oder die Daten auf einem falschen Datenträger abgelegt werden. Daher wurde eine Möglichkeit geschaffen, den Mountpoint anhand der Geräte UUID des externen Datenträgers zu identifizieren und gegebenfalls anzupassen, so das stets sichergestellt ist, das die Datensicherung im korrekten Ziel abgelegt wird.
- Liegen Datensicherungsquellen auf einem oder mehreren extern angeschlossenen USB/SATA-Datenträger(n) kann es ebenfalls passieren, das sich der ursprüngliche Einhängepunkt (Mountpoint) wie z.B. /volumeUSB1/usbshare beim nächsten einstecken nach z.B. /volumeUSB2/usbshare ändert. Im Gegensatz zum Datensicherungsziel können sich Datensicherungsquellen aber auf mehrere externe Datenträger verteilen. Die Identifizierung sowie Anpassung des jeweiligen Mountpoints ist somit sehr aufwendig und aktuell leider noch sehr fehlerbehaftet. Aus diesem Grunde habe ich einen Hinweis an den entsprechenden Stellen platziert um auf diesem Umstand aufmerksam zu machen.
- Das Sprachdateisystem wurde umgestellt und in die Bereiche GUI, rsync-Script sowie AutoPilot-Script gruppiert.
- In den Auftragskonfigurationen fällt durch die Umstellung des Sprachdateisystems die Deklarierung der Sprachausgabe ( var[language] ) weg.
- Im Bereich [ Sichern und wiederherstellen der Datensicherungsaufträge ] konnte kein Zielordner angegeben werden. Fehler behoben.
- Viele kleinere und einige größere Detailverbesserungen, Fehlerbehebungen und Codebereinigungen vorgenommen.
Version 0.5-023 vom 25.01.2022
- Bei der Auswertung, ob ein Auftrag aktuell ausgeführt wird oder nicht, wurde nach Teilzeichenketten im Auftragsnamen gesucht und nicht nach ganzen Wörten. Das hatte zur Folge, das ähnlich lautende Aufträge fälschlicherweise als aktiv gekennzeichnet wurden, obwohl sie inaktiv waren. Fehler wurde behoben.
- Endete der Pfad des Datensicherungsziels mit einem / (Slash) wurde die Datensicherung im root Ordner abgelegt. Fehler wurde behoben.
- In der Auftragsbearbeitung wurde die Bezeichnung "Datensicherungsziel" gegen "Freigegebener Ordner" und die Bezeichnung "Zielordner" gegen "Zielverzeichnis" ausgetauscht. Ebenfalls wurden die Info-Felder entsprechend umgeschrieben.
Version 0.5-000 vom 23.01.2022
- Mit der Version 0.5-000 verlässt Basic Backup die Betaphase und geht in eine Vorabversion über. Vorabversion deshalb, da die API immer noch eine Null als Hauptversionsnummer anführt und daher durchaus noch umfangreiche Änderungen erfolgen können. Ebenso können immer noch unentdeckte Fehler zu einem unerwünschten Fehlverhalten oder gar einem möglichen Datenverlust führen.
- Upgrade der Bootstrap Icons von 1.6.0 nach 1.7.2
- Allgemeine Anzeigefehler in der Auftragsbearbeitung behoben.
- Allgemeine Korrekturen an den Sprachdateien und Sprachvariabeln durchgeführt.
- Die Papierkorb Funktion hat zwischenzeitlich gelöschte Daten der Datensicherungsquelle(n) fälschlicherweise in den Ordner /@backup und nicht in den Ordner /@recycle des Datensicherungsziels verschoben. Das hatte zur Folge, das die Funktion "Inhalte des Papierkorbs löschen, die älter sind als..." nicht gegriffen hat. Bei der nächsten Ausführung des Datensicherungsauftrages werden die Daten ensprechend verschoben.
- Bei einer Angabe von 0 Tagen werden bei der Papierkorb-Funktion alle zwischenzeitlich gelöschten Daten aus den Datensicherungsquelle(n) auch im Datensicherungsziel unwiderruflich gelöscht. Andernfalls werden die zwischenzeitlich gelöschten Daten für die angegebene Zeit in Tagen in den Papierkorb, unter /@recycle des Zielordners verschoben.
Version 0.4-000 Beta vom 29.12.2021
- Aufträge können nun lokal auf der DS gesichert und wiederhergestellt werden.
- Unstimmigkeiten der internen Versionsverwaltung zwischen Auftragsbearbeitung (GUI), Auftragskonfiguration (.config) und Auftragsausführung (rsync-Script) vorgenommen.
- Verständlichere Formulierung und Plazierung des Update Buttons, wenn nach einem Paket-Update Änderungen an der jeweiligen Auftragskonfiguration (.config) vorgenommen werden müssen.
- Umgestaltung des Hinweis Buttons. Der Text -Hinweis- wurde durch ein weißes -i- auf blauen Grund ersetzt.
- In den Hilfedateien zur Einrichtung einer SSH Verbindung wurden Hinweise zum Aktivieren des rsync-Dienstes für die lokale DiskStation als auch für Remote Server hinzugefügt.
- In der Auftragsbearbeitung wurde ein Hinweis hinzugefügt, wann die Angabe der MAC-Adresse erforderlich ist.
- In der Auftragsbearbeitung konnte als Zielordner ein einfacher Slash, ohne Angabe eines Ordners angegeben werden. Unter bestimmten Bedingungen erfolgte dadruch eine anschließende Datensicherung ins Wurzel- bzw. /root Verzeichnis von Linux. Das führte wiederum zu einem Überlauf der Systempartition. Fehler wurde behoben sowie Hinweise angepasst.
- Im rsync-Script wurde anstatt der Empfänger E-Mail Adresse, die E-Mail Adresse des Absenders verwendet.
- Im rsync-Script wurde der Shutdown nicht ausgelöst, da eine Umgebungsvariable nicht bzw. falsch gesetzt war.
Version 0.3-100 Beta vom 14.11.2021
- Es wurde eine Auswahloption hinzugefügt um das E-Mail-Protokoll nur bei auftretenden Problemen versenden zu lassen.
- Beim Schließen des Popupfensters eines beliebigen Hilfeartikels über das X-Symbol musste das Programm teilweise neu gestartet werden. Fehler wurde behoben.
- Das Anzeigeformat der Popupfenster für die Hilfeartikel, das Systemprotokoll sowie für die Datensicherungsprotokolle wurde überarbeitet.
- Die Anzeige von Neuigkeiten, Updates und Hinweisen wurde überarbeitet.
- Kleinere Layout Anpassungen innerhalb des Auftragsformulars vorgenommen.
Version 0.3-043 Beta vom 07.11.2021
- Der Text zum "Erweiteren der eingeschränkten Systemrechte" wurde nicht in englischer Sprache ausgegeben. Fehler wurde behoben.
- Der Hilfe Button bzw. das Hilfe Menu wurde nicht in englischer Sprache übersetzt. Fehler wurde behoben.
- Der Speichern Button am Ende der Auftragserstellung wurde nicht in englischer Sprache übersetzt. Fehler wurde behoben.
- In der Hilfe wurden zum Thema SSH-Verbindung einrichten einige Dinge korrigiert, so das z.B. wieder mit den Standard Dateinamen für die RSA-Schlüssel (id_rsa und id_rsa.pub) gearbeitet wird.
- In der Systemumgebung wurde der Status des Benutzer-Home-Dienstes hinzugefügt. Des Weiteren wurden entsprechende Informationen zum aktivieren des rsync-, SSH-, sowie des Benuter-Home-Dienstes hinzugefügt.
- Beim erstellen eines neuen Auftrags wurden die Daten eines bereits bestehenden Auftrages im Formular angezeigt. Fehler wurde behoben.
- Es wurde ein Hinweis im auftragsformular hinzugefügt, das man für den Shutdown eines Remote Servers root Rechte benötigt.
- Im Auftragsformular wurden die Punkte "Vor- und nach der Datensicherung den Remote Server..." verständlicher formuliert.
- Dem Auftragsformular wurde ein Formularfeld hinzugefügt, wo der Dateiname des zu verwendenden, lokal abgelegten privaten Schlüssels (id_rsa) angegeben werden kann. Damit verbunden wurde das rsync-Script um die Funktion erweitert, alternative Dateinamen des zu verwendenden privaten Schlüssels (id_rsa) zu verarbeiten.
- Im Auftragsformular kann neben der E-Mail Absenderadresse eine abweichende E-Mail Empfängeradresse angegeben werden. Die Formularfelder werden dabei automatisch mit den im DSM unter Hauptmenü > Systemsteuerung > Benachrichtigung > E-Mail hinterlegten Daten ausgefüllt. Damit verbunden wurde das rsync-Script um die Funktion erweitert, neben der Absenderadresse eine abweichende Emfängeradresse zu verarbeiten.
- Im Datensicherungsprotokoll wird jetzt ein Hinweis ausgegeben, ob eine E-Mail erfolgreich versendet wurde oder nicht.
- Im rsync-Script wurde an bestimmten Stellen der Zeitstempel aktualisiert, um den Fortschritt im Datensicherungsprotokoll aussagekräfitger darstellen zu können.
Version 0.2-014 Beta vom 31.10.2021
Bugfixes
- Neben dem Befehl zum Ausführen eines Auftrags können nun diverse Optionsschalter wie z.B. --dry-run, -v, -vv oder auch -vvv an den Befehl angehangen werden.
- Als speziellen bzw. experimentellen Optionsschalter wurde ein Optionsschalter zum Verändern von rsync Zugriffsrechten im Ziel der Datensicherung hinzugefügt. Bedingt durch die eingeschränkten rsync Berechtigungen eines ausführenden SSH Benutzers, kann es vor allem bei einem Push Backup zu Zugriffsproblemen beim Schreiben von Ordnern (Verzeichnissen) und Dateien kommen.
- Teilweise wurde der Ordner /Versionsverlauf nicht erstellt, da im rsync-Script ein Slash doppelt angegeben war, da hieß es dann /Versionsverlauf//2021-10-…...
- Die initiale Sicherung der DSM-Systemkonfiguration wurde nach einem erneuten Durchlauf des Auftrages nicht mehr aktualisiert.
Änderungen bzw. Verbesserungen
- Auftragsnamen dürfen jetzt Leerzeichen enthalten.
- Ordnernamen zum Festlegen des Datensicherungsziel dürfen jetzt Leerzeichen enthalten.
- Ordnernamen für zwischenzeitlich gelöschte Daten innerhalb des Ordners /@backups werden nur noch mit Datum und Uhrzeit versehen, jedoch nicht mehr mit dem Namen des Auftrages.
- Alle Standardausgaben (stdout) sowie Standardfehlerausgaben (stderr) werden nun einheitlich im Terminal sowie im Datensicherungsprotokoll ausgegeben.
- Der Verzeichnisbaum zur Auswahl lokaler Quellordner wird jetzt immer komplett angezeigt.
- Das Versenden des Protokolls per E-Mail kann jetzt ein- oder ausgeschaltet werden.
- Müssen nach einen Paket-Update Aktualisierungen an den Auftragskonfigurationen durchgeführt werden, erscheint ein entsprechender Hinweis in der Auftragsübersicht.
- Dateiname zum Erweitern der Systemrechte von kickme_into_group.sh nach app_permissions.sh umbenannt.
- Rahmenbedingungen für den Beta-Betrieb auf CPHub angepasst, damit Basic Backup im DSM-Paketzentrum auftaucht.
- Package Icon von 72x72 wieder zurück auf 64x64 zurückgesetzt.
Version 0.1-100 Beta vom 21.10.2021
- Start der ersten öffentlichen Beta Version von Basic Backup
- Basic Backup versteht sich als Fork, also als eine Abspaltung von Ultimate Backup und wurde eigens für die Verwendung unter DSM 7 entwickelt. Daher bietet Basic Backup auch weiterhin eine dateibasierte sowie ggf.
versionierte Datensicherung an. Mögliche Datensicherungsquellen und Ziele sind neben internen Volumes und extern an eine DiskStation angeschlossene USB/SATA-Datenträger auch über SSH verbundene, rsync fähige Remote Server. Bedingt durch den restriktiveren Aufbau von DSM 7 konnten einige Funktionen von Ultimate Backup jedoch nicht übernommen werden, andere Funktionen wurden wiederum bewusst weggelassen.
- Bootstrap 5.1.3 - The world’s most popular framework for building responsive, mobile-first sites, with jsDelivr and a template starter page
- Bootstrap Icons 1.6.0 - Free, high quality, open source icon library with over 1,300 icons.
- jQuery 3.6.0 - A fast, small, and feature-rich JavaScript library.
Was funktioniert noch genauso wie unter Ultimate Backup
- Ausführen dateibasierter Datensicherungen auf…
- …interne Volumes
- …extern angeschlossene USB/SATA-Laufwerke
- …eingebundene Remote Ordner über die File Station
- …eingehängte, verschlüsselte Ordner
- …von oder auf Remote Server im lokalen Netzwerk oder über das Internet.
- Erstellen, bearbeiten und löschen von Backup Aufträgen.
- Ausführen von Backup Aufträgen über den DSM Aufgabenplaner.
- Ausführen von Backup Aufträgen über das Terminal der lokalen DiskStation.
- Anzeige, welcher Auftrag grade ausgeführt wird.
- Sichern von zwischenzeitlich gelöschten Ordnern und Dateien, oder…
- …anlegen von Versionsständen, basierend auf der Verwendung von Hardlinks.
- Sichern der DSM-Systemkonfiguration (ausgenommen Pull-Backup)
- Optische- und akustische Signalausgabe.
- Ausgabe von DSM-Benachrichtigungen.
- Senden eines Datensicherungsprotokolls per E-Mail.
Was funktioniert nur noch eingeschränkt über die GUI
- Zugriff auf Unterordner von gemeinsamen bzw. freigegebenen Ordnern.
- Auswählen von Unterordnern zum festlegen lokaler Datensicherungsquellen.
- Auswählen von Unterordnern zum festlegen eines lokalen Datensicherungszieles.
- Der Zugriff auf o.a. Ordnerebenen ist nur möglich, wenn das Basic Backup Paket Mitglied in der Gruppe der Administratoren ist.
- Aktuell ist der Zugriff auf die Ordnerstruktur jedoch generell auf /volume1/share/folder beschränkt.
Was funktioniert überhaupt nicht mehr über die GUI
- Ausführen von Backup Aufträgen.
- Einhängen und trennen verschlüsselter Ordner.
- Senden von Ping-, WOL- und Shutdown Befehlen.
- Erstellen und Verwalten von SSH-Ordnerstrukturen.
- Durchführen eines Handshake sowie der Austausch des Public-Key.
- Gerätedaten von Remote Servern abfragen und anzeigen.
- Zugriff auf die Ordnerstruktur von Remote Servern.
- Anlegen und bearbeiten von Zeitplänen (cron).
- Automatisches Ausführen von Aufträgen beim Anschließen eines USB/SATA-Datenträgers (ehemals autostart).
Bekannte und noch zu lösende Probleme
- Während der Ausführung eines Push- und Pull-Backups über einen SSH-Benutzer mit eingeschränkten Rechten gehen die Besitz- und Gruppenrechte von Ordnern und Dateien der Quellen weitgehend verloren, da diese nur unter Verwendung des Root-Kontos unangetastet ins Ziel übertragen werden können. Bedingt durch den rsync-Optionsschalter --chmod=ugo=rwX werden während eines Push-Backups alle Ordner im Ziel auf -rwx---- oder auch 700, alle Dateien auf -rwxrwxrwx oder auch 777 gesetzt. Bei einem Pull-Backup greift dieser Optionsschalter zwar nicht, jedoch werden auch hier Ordner- und Dateirechte möglicherweise im ziel geändert.
- Es ist jedoch generell festzuhalten, das Datei- und Ordnerrechte im Ziel der Datensicherung nur noch bedingt erhalten bleiben, solange der Auftrag nicht über eine SSH Verbindung unter Verwendung des Root-Kontos abgewickelt wird.
- Implementieren der 3rdParty App autorun um Backup Basic Aufträge beim anschließen eines USB/SATA-Datenträgers automatisch auszuführen. Hier muss das rsync-Script noch entsprechend angepasst werden, da autorun einen Erfolg mit dem Exit-Code 100 quittiert, das rsync-Script hier aber 0 ausgibt.
- Das Sichern in- bzw. aus eingegangenen, verschlüsselten Ordnern über das rsync-Script heraus sollte technisch weiterhin möglich sein. Mir stellt sich nur die Frage, ob ich diese Funktion in Zukunft einbinden und supporten möchten.