Autorun für ext. Datenträger

Striker_BGH

Benutzer
Mitglied seit
15. Jun 2016
Beiträge
8
Punkte für Reaktionen
0
Punkte
0
Ich meine das Skript, das auf die externe Platte kommt.
Die autorun- Datei die auf die externe Platte kommt muss doch eine Endung bekommen oder nicht ? z.B autorun.sh oder einfach nur eine Textdatei autorun.txt
 
Zuletzt bearbeitet:

anarchy

Benutzer
Mitglied seit
15. Apr 2016
Beiträge
58
Punkte für Reaktionen
0
Punkte
0
Die Datei muss komplett ohne Endung sein,
also einfach nur "autorun" - fertig :eek:
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
30.688
Punkte für Reaktionen
2.091
Punkte
829
Um die Datei zu im Fileselector zu sehen, ja. Probiere es einfach aus und kontrolliere es anschließend.
 

Cubflyer

Benutzer
Mitglied seit
13. Jan 2015
Beiträge
78
Punkte für Reaktionen
0
Punkte
6
Wie muss das Skript aussehen damit ein Job aus Hyper Backup ausgeführt wird, gibts eine Vorlage?
 

Striker_BGH

Benutzer
Mitglied seit
15. Jun 2016
Beiträge
8
Punkte für Reaktionen
0
Punkte
0
Läuft wunderbar so.
Weiß jemand evtl. noch wie ich über die Console (putty) die ext. HDD wieder online und dann wieder offline schalten kann nach dem automatischen Auswerfen der Platte um die Dateien zu kontrollierten.
 

Merthos

Benutzer
Mitglied seit
01. Mai 2010
Beiträge
2.709
Punkte für Reaktionen
2
Punkte
84
Das geht nicht, die Platte muss physisch oder elektrisch getrennt und neu angesteckt werden. Du kannst autorun im Paketzentrum deaktivieren, dann werden die Skripte nicht gestartet.
 

PsychoHH

Benutzer
Mitglied seit
03. Jul 2013
Beiträge
2.967
Punkte für Reaktionen
4
Punkte
78
Rebooten per putty oder dsm
 

nosi

Benutzer
Mitglied seit
19. Nov 2012
Beiträge
36
Punkte für Reaktionen
0
Punkte
6
Ziel: Daten auf dem NAS verschlüsselt auf eine USB-Platte sichern.

EDIT: Problem selbt gelöst, siehe ganz unten :)

Nachdem ich dachte, dass die Umstellung der Kombination Autorun-Script und Hyper Backup zufriedenstellend funktioniert, hat mich Synology eines besseren belehrt: Das zweite Backup schlug fehl, da die externe Festplatte überlief. Trotz Sicherungsrotation = 1 und belegter Speicherplatz auf NAS (ca. 1,5 TB) < Volumen der USB-Platte (ca. 1,7 TB ) schlug die 2 Sicherung fehl, da offensichtlich mehr Speicherplatz benötigt wurde, als noch frei war (Größenordnung 200 GB). Für mich ist nicht nachvollziehbar, warum Hyper Backup so viel Platz benötigte, obwohl inkrementell gesichert wird und sich in dieser Größenordung keine Daten geändert haben. Also entweder funktioniert die Sicherungsrotation nicht oder aber für die inkrementelle Sicherung wird temporär mehr Platz auf der externen Platte gebraucht.

Wie auch immer, nun bin ich erst einmal von der Synology Lösung bedient und wollte auf dolgendes Konzept (zurück) umstellen: http://www.synology-wiki.de/index.php/Verschl%C3%BCsseltes_Backup

Einige Pfadangaben haben sich scheinbar demgegenüber in der Zwischenzeit geändert, daran soll es aber nicht scheitern. Das Problem bei mir ist, dass ich mount.encrypt nicht zu Laufen bekomme. Folgendes spuckt mir die Konsole aus:

Rich (BBCode):
admin@server01:/bin$ mount.ecryptfs /volumeUSB1/usbshare/@backup@ /volumeUSB1/usbshare/backup
Unable to find a list of options to parse, defaulting to interactive mount
Passphrase:
Error attempting to evaluate mount options: [-22] Invalid argument
Check your system logs for details on why this happened.
Try updating your ecryptfs-utils package, and/or
submit a bug report on https://launchpad.net/ecryptfs

Da sich dieser Thread ja mittlerweile über das reine Autorun zu einer Sammlung zu Backup-Lösungen entwickelt hat, poste ich meine Frage daher mal hier: Kann mir jemand erklären, was hier der Fehler zu sein scheint und wie kann ich nun vorgehen?

Kann es ggf. bereits daran liegen, dass ich als admin angemeldet bin? Ich meine, dass ich diesbezüglich mal irgendwo was gelesen hatt, finde es aber leider gerade nicht. Das Problem ist dann jedoch, dass ich das root-PW nie geändert habe und beim Anmeldeversuch als root über SSH mit dem Admin-PW ein access denied bekomme :-( Was mache ich da wohl falsch?

Edit: Habe gerade gelesen, dass es sich um ein DSM 6.0 Problem handelt, per sudo su bekomme ich root, dann funktioniert offensichtlich erst einmal alles!
 
Zuletzt bearbeitet:

Merthos

Benutzer
Mitglied seit
01. Mai 2010
Beiträge
2.709
Punkte für Reaktionen
2
Punkte
84
Du musst die Optionen (-o und alles folgende) mit angeben.
 

nosi

Benutzer
Mitglied seit
19. Nov 2012
Beiträge
36
Punkte für Reaktionen
0
Punkte
6
Danke. Nun muss ich mich mal mit den verschiedenen per Kommandozeile ansprechbaren Sicherungsmethoden auseinandersetzen. Die dateibasierte Sicherung von Hyper Backup (seit dem letzten DSM Update ja wieder per GUI aufrufbar) lässt sich zumindest per Gui nicht auf /usbshare/backup sichern, da keine Unterordner der USB-Platte ausgewählt werden können... gebe ich ihn manuell ein, heißt es, er sei von einer anderen Anwendung in Benutzung.


Nachtrag: Ich habe nun etwas herumexperimentiert und es funktioniert zumindest in Hyper Backup den Ordner "backup" auf der USB-Platte anzugeben, solange dieser noch nicht existiert. Anschließend habe ich den Ordner @backup@ angelegt, das mounten durchgeführt

Rich (BBCode):
 mount.ecryptfs /volumeUSB1/usbshare/@backup@ /volumeUSB1/usbshare/backup -o ecryptfs_cipher=aes,ecryptfs_key_bytes=32,ecryptfs_passthrough=n,no_sig_cache,ecryptfs_enable_filename_crypto,passwd=testpassw
Attempting to mount with the following options:
  ecryptfs_fnek_sig=ff4e93ab0dd49dda
  ecryptfs_key_bytes=32
  ecryptfs_cipher=aes
  ecryptfs_sig=ff4e93ab0dd49dda
Mounted eCryptfs

was offensichtlich nun funktionierte. Anschließend die Datensicherung manuell gestartet (in der Hoffnung, dass es nun verschlüsselt im Ordner @backup@ landet). Nachdem ich das Dateisystem wieder unmounted habe
Rich (BBCode):
umount /volumeUSB1/usbshare/backup

liegen aber sowohl in @backup@ verschlüsselte Daten, als auch in backup unverschlüsselte Daten. Das war nicht ganz der Sinn :-( Liegt das daran, dass ich die Sicherung erstellt habe, als das Dateisystem noch nicht gemounted war (denn nach dem Mounten kann ich den Ordner backup in Hyper Backup ja nicht auswählen)?
 
Zuletzt bearbeitet:

Merthos

Benutzer
Mitglied seit
01. Mai 2010
Beiträge
2.709
Punkte für Reaktionen
2
Punkte
84
Nö, das kann nicht sein. Sicher, dass Du den verschlüsselten ausgehangen hast?
 

nosi

Benutzer
Mitglied seit
19. Nov 2012
Beiträge
36
Punkte für Reaktionen
0
Punkte
6
Nö, das kann nicht sein. Sicher, dass Du den verschlüsselten ausgehangen hast?

Mit obigem umount Befehl. Wenn ich ihn erneut ausführe bekomme ich

Rich (BBCode):
ash-4.3# umount /volumeUSB1/usbshare/backup
umount: /volumeUSB1/usbshare/backup: not mounted

Ich lösche mal manuell den Inhalt von "backup" und probiere es erneut. Ich habe den Verdacht, dass ich bei Hyper Backup zu schnell durchgeklickt hatte und eine 1. Sicherung erstellt hatte, als das Filesystem noch nicht gemounted war.


EDIT: Man sollte sich alles auf der Konsole ansehen... der DSM File-Explorer hat wohl den Ordnerinhalt noch in irgendeinem Cache gehabt. Einmal aus DSM ausgeloggt, einmal eingeloggt und schon waren die Daten im File Explorer auch nicht mehr da. Fazit: nun klappt das Zusammenspiel mit Hyper Backup so, wie ich mir das vorstelle. Nun kann ich das ganze also per Script starten lassen.

@Merthos: Danke für Deine Hilfe!
 

nosi

Benutzer
Mitglied seit
19. Nov 2012
Beiträge
36
Punkte für Reaktionen
0
Punkte
6
Anleitung dateibasiertes verschlüsseltes Backup auf externer HDD

Aufbauend auf Merthos Lösung (besten Dank an dieser Stelle!) und unter Verwendung von Hyper Backup habe ich eine für mich funktionierende Lösung erstellt. Falls es für den ein oder anderen von Interesse ist, habe ich hier mal alles Schritt für Schritt zusammengefasst:

Funktionsprinzip der verschlüsselten Sicherung:
  • Das gesamte Prinzip basiert auf folgender Anleitung LINK
  • Das Script autorun auf der USB-Platte startet auf der DS das Script /volume1/backup/script/backupUSB
  • Das Script backupUSB auf der DS (hier liegt der Verschlüsselungsschlüssel im Klartext) hängt das verschlüsselte Dateisystem ein (es „biegt“ den Ordner backup auf den Ordner @backup@ um).
  • Das Script backupUSB startet wiederum das Script run.backup auf der USB-Platte, welches per Befehl und Task-ID das reguläre Backup (Hyper Backup) startet, das in den Ordner backup sichert (und die Daten direkt in die aufgrund des gemounteten verschlüsselten Dateisystems direkt verschlüsselt in @backup@ gespeichert werden.
  • Nach Abschluss des Backups wird das verschlüsselte Dateisystem ausgehängt und die Daten auf der externen Platte liegen verschlüsselt im Ordner @backup@
  • Bei Wiederherstellung der Daten wird das verschlüsselte Dateisystem wieder gemountet und über den Ordner backup kann auf die unverschlüsselten Daten zugegriffen werden.

Erstmaliges Einrichten:
  • Autorun Paket installieren
  • backup als „gemeinsamer Ordner“ auf der NAS-Platte aus der DSM heraus erstellen (idealerweise Rechte nur für Admin setzen und in Netzwerkumgebung verbergen) ? Hier können anschließend per GUI die Log-Files eingesehen werden und per Text-Editor das Script zur Verschlüsselung platziert werden.
  • Diverse Ordner erstellen per Konsole (z. B. per Putty per SSH):
  • DS> cd /volumeUSB1/usbshare/
  • DS> mkdir @backup@
  • Anmerkung: Der außerdem noch auf der externen HDD zu erstellende Ordner backup wird später durch Hyper Backup erstellt.​
  • DS> cd /volume1/backup/
  • DS> mkdir script
  • DS> mkdir log
  • Backup in Hyper Backup erstellen
  • Im Datensicherungsassistent „Lokal (Legacy)“ auswählen (= alte dateibasierte Speicherungsart)​
  • Gemeinsamen Ordner „usbshare1“ auswählen​
  • Auswählen, was gesichert werden soll​
  • Datensicherungseinstellungen​
  • Vorgangsnamen eingeben (z. B. „Backup_USB01“)​
  • Verzeichnis „backup“ eingeben (erstellt einen Unterordner „backup“ in usbshare)​
  • Haken setzen bei:​
  • Metadaten-Sicherung​
  • Sicherung von Miniaturansichten​
  • Aufgabenbenachrichtigung​
  • Max. Konfigurationsversionen: 1​
  • Backup Task-Nr. auslesen
  • Per Konsole einloggen​
  • vim /usr/syno/etc/synobackup.conf
  • ? Backup Task Nummer (nicht repo id)auslesen (in VIM kann mit Pfeiltasten hoch und runter gescrollt werden, :q! ist der Befehl für Exit)​
  • Scripte auf USB und NAS verteilen
  • Das Erstellen der Scripte erfolgt am besten per DSM Texteditor. Beim Speichern muss unbedingt die Codierung „Westlich CP1252“ gewählt werden​
  • Im Script run.backup nicht vergessen die ausgelesene Task-Nr. einzutragen!​
  • Im Script backupUSB das Passwort zur Verschlüsselung an der Stelle PASSWORD eintragen.​
  • Speichern der Scripte (siehe weiter unten) in folgenden Ordnern:​
  • Script backupUSB in /volume1/backup/script/ (im File Explorer: Gemeinsamer Ordner backup/script/)​
  • Script autorun in /volumeUSB1/usbshare/ (im File Explorer: Stammverzeichnis der externen HDD)​
  • Script run.backup in /volumeUSB1/usbshare/ (im File Explorer: Stammverzeichnis der externen HDD)​
  • Nach dem Erstellen der Scripte im File Explorer unbedingt die Berechtigungen der Dateien überprüfen. Rechtsklick -> Eigenschaften -> Genehmigung und dann alle Haken setzen! (z. B. fehlen, wenn die externe HDD in EXT4 formatiert wurde und die „autorun“-Datei im Texteditor erstellt wurde, die Berechtigungen für Ausführen)​
  • Das Autorun-Paket starten

Durchführen der Datensicherung
  • Externe Platte anstecken, einige Sekunden warten, bis die Platte vom NAS erkannt wurde
  • Datensicherung wird direkt gestartet und durchgeführt
  • Die Status-LED am NAS (die oberste) leuchtet orange, solange die Datensicherung läuft
  • Ist die Datensicherung fertig, wird wieder eine Email verschickt und die Status-LED leuchtet wieder grün


Wiederherstellung der Daten (sofern eine DS vorhanden)
  • Das Autorun Paket stoppen
  • Die externe HDD an stöpseln
  • Einloggen auf der Konsole (z.B. per Putty) als Admin
  • Root-Rechte beziehen per sudo su (das Root-Passwort ist das gleiche, wie das Admin-Passwort, seit DSM 6.0 ist ein direkter Login als Root nicht mehr möglich per SSH, siehe Link)
  • /bin/mount.ecryptfs /volumeUSB1/usbshare/@backup@ /volumeUSB1/usbshare/backup -o ecryptfs_cipher=aes,ecryptfs_key_bytes=32,ecryptfs_passthrough=n,no_sig_cache,ecryptfs_enable_filename_crypto,passwd=PASSWORD (PASSWORD gegen richtiges Passwort austauschen, das verschlüsselte Dateisystem wird nun gemounted)
  • Anschließend kann über die GUI von Hyperbackup die Sicherung wieder eingespielt werden bzw. direkt per File-Explorer auf die Daten zugegriffen werden
  • /bin/umount /volumeUSB1/usbshare/backup um das verschlüsselte Dateisystem wieder auszuhängen
  • Die externe Platte unter Sytemsteuerung > externe Geräte auswerfen (Entfernen)
  • Das Autorun Paket kann wieder gestartet werden
  • Falls keine DiskStation zur Verfügung steht, folgendes Tutorial verwenden: Link

Datei „autorun“ (kommt in /volumeUSB1/usbshare/)
Rich (BBCode):
#!/bin/sh
/volume1/backup/script/backupUSB $1
exit $?

Datei „backupUSB“ (kommt in /volumeUSB1/usbshare/)
Rich (BBCode):
#!/bin/sh

if [ -z "$1" ]
then
        exit 1
fi

logfile="/volume1/backup/log/backup-sata-`date +%Y-%V`.log"
device=$1

echo "########################################################################" >> $logfile
echo "" >> $logfile
echo "Starting backup on `date +%Y-%m-%d` `date +%k:%M:%S`" >> $logfile
echo "" >> $logfile

/bin/mount.ecryptfs $device/@backup@ $device/backup \
-o ecryptfs_cipher=aes,ecryptfs_key_bytes=32,ecryptfs_passthrough=n,no_sig_cache,ecryptfs_enable_filename_crypto,passwd=PASSWORD
if [ $? -eq 0 ]
then
        echo "Encrypted filesystem mounted" >> $logfile
else
        echo "Error while mounting the encrypted filesystem" >> $logfile
		echo "" >> $logfile		
		echo $device >> $logfile
		echo "" >> $logfile
        echo "" >> $logfile
        /usr/syno/bin/synomail SATABackupFailed
        exit 1
fi

$device/run.backup $device >> $logfile 2>&1

echo "" >> $logfile
echo "------------------------------------------------------------------------" >> $logfile
echo "" >> $logfile

/bin/umount $device/backup >> $logfile
if [ $? -eq 0 ]
then
        echo "Encrypted filesystem unmounted" >> $logfile
else
        echo "Error while unmounting the encrypted filesystem" >> $logfile
        echo "" >> $logfile
        /usr/syno/bin/synomail SATABackupFailed
        exit 1
fi

echo "" >> $logfile
/bin/df -h $device >> $logfile
echo "" >> $logfile
echo "Backup finished on `date +%Y-%m-%d` `date +%k:%M:%S`" >> $logfile
echo "" >> $logfile
/bin/umount $device/
exit 100

Datei „run.backup“ (kommt in /volumeUSB1/usbshare/)
Rich (BBCode):
echo ""
/usr/syno/bin/synobackup --backup <TASK-Nr.> --type local 
Exit 100
 
Zuletzt bearbeitet:

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
30.688
Punkte für Reaktionen
2.091
Punkte
829
Klasse, danke für die Informationen!
 

nosi

Benutzer
Mitglied seit
19. Nov 2012
Beiträge
36
Punkte für Reaktionen
0
Punkte
6
Update Anleitung (Post #737)

Ich hatte immer nur mit kleinen Dateien getestet, daher hatte ich nicht gemerkt, dass sich noch ein Fehler eingeschlichen hat. Es funktioniert daher nur, wenn gegenüber der Anleitung (Post #737) folgendes geändert wird:

Datei "run.backup" - Update
Rich (BBCode):
#!/bin/sh
/usr/syno/bin/synobackup --backup <TASK-Nr.> --type local
sleep 60
while [ "$(/bin/pidof img_backup)" -o  "$(/bin/pidof dsmbackup)" -o  "$(/bin/pidof synoimgbktool)" -o  "$(/bin/pidof synolocalbkp)" -o  "$(/bin/pidof synonetbkp)" -o  "$(/bin/pidof updatebackup)" ]
do
 sleep 60
done
exit 0
 

Striker_BGH

Benutzer
Mitglied seit
15. Jun 2016
Beiträge
8
Punkte für Reaktionen
0
Punkte
0
Weiß jemand ob das neue DSM Update Probleme macht, sprich den Code nicht mehr funktionieren lässt ?
 


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat