Autorun für ext. Datenträger

DrMartinus

Benutzer
Mitglied seit
20. Mrz 2014
Beiträge
57
Punkte für Reaktionen
0
Punkte
0
Merkwürdiges Problem in meinem Skript: die folgende Abfrage geht immer in die "else"-Abteilung, auch wenn solch ein Verzeichnis existiert:
if [ -x $FBkpDir ]
then
#Falls ein altes Backupverzeichnis mit gleichem Namen existiert, wird das jetzt gelöscht
rm -rf $FBkpDir
else
echo "Es scheint kein Verzeichnis mit dem Namen $FBkpDir zu existieren." >> $LogFile
fi
während diese Abfrage erfolgreich ist:
if [ -x $DelBkpDir ]
then
rm -rf $DelBkpDir
else
echo "Es wurde am `date` kein Backup der Woche $DelWoche aus dem Verzeichnis: $DelBkpDir gelöscht" >> $LogFile
fi
Ich kann keinen Unterschied im Aufbau erkennen und sehe auch keinen Grund, warum das erste nicht funktionieren sollte. Beide Variablen stellen einen gültigen Pfad dar, denn andere Operationen mit diesen Pfaden funktionieren. Hat hier jemand Ideen?
 

zilluss

Benutzer
Mitglied seit
12. Jun 2015
Beiträge
2
Punkte für Reaktionen
0
Punkte
0
Bin auf den Thread gestoßen weil bei mir das verschlüsselte Backup nicht richtig funktioniert hat.
An alle die den Fehler "problem while unmounting the encrypted file system, aborting" bekommen:
Es kann daran liegen dass euer Passwort Sonderzeichen enthält. Dann schlägt schon das mounten des verschlüsselten Ordners fehl und das Backup wird unverschlüsselt gespeichert.
Mit alphanumerischen Passwörtern klappt es aber problemlos.
 

zilluss

Benutzer
Mitglied seit
12. Jun 2015
Beiträge
2
Punkte für Reaktionen
0
Punkte
0
Nachtrag: Der Fehler tritt auch auf wenn die maximale Passwortlänge von 64 Zeichen überschritten wurde.
 

nex1234

Benutzer
Mitglied seit
08. Mai 2010
Beiträge
138
Punkte für Reaktionen
0
Punkte
0
Funktioniert das Script auch bei der neuen DS215+ (Annapurna Labs AL-212)? Habe bei der Forensuche nichts gefunden.
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
30.691
Punkte für Reaktionen
2.098
Punkte
829
Wenn ich das richtig sehe, wird mit Shellskripten gearbeitet. Die laufen unabhängig von der CPU-Architektur. Insofern sollte autorun m.E. auch auf einer 215+ laufen.
 

Merthos

Benutzer
Mitglied seit
01. Mai 2010
Beiträge
2.709
Punkte für Reaktionen
2
Punkte
84
autorun ist nicht von der Architektur abhängig.
 

nex1234

Benutzer
Mitglied seit
08. Mai 2010
Beiträge
138
Punkte für Reaktionen
0
Punkte
0
Super, danke für die Antworten! Ohne das Script hätte ich die DS215+ nicht gekauft ;)
 

superflip

Benutzer
Mitglied seit
27. Jul 2015
Beiträge
3
Punkte für Reaktionen
0
Punkte
0
Hallo,

also autorun mit dem bind-mount funktioniert bestens! - (DSM5.2, weil die Frage mal auftauchte).
Leider finde ich in dem langem Thread nichts zu meinem aktuellen Problem.

Ich verbinde mich zur DS mittels NFS und da muss ich den kompletten Pfad mit angeben. - wenn ich das im auf der Web-UI im NFS konfiguriere steht da immer z.B. /volumeUSB1/usbshare - was ja leider genau nicht der gewünschte Pfad ist. - ich würde gerne per NFS auf /mnt/backup verbinden - das bind mount funkt. wie gesagt ohne Probleme, aber ich kann mit dem Verzeichnis /mnt/backup keine "gemeinsamen Ordner" erstellen.

Für jeden brauchbaren Hinweis bin ich dankbar.

lg,
Philipp
 

Revan335

Benutzer
Mitglied seit
23. Sep 2014
Beiträge
6
Punkte für Reaktionen
0
Punkte
0
Hallo,

funktioniert dies auch bei meiner Konstellation ?

Ich fahre ein Backup von einer QNAP auf die Externe Platte an der Synology EDS14.

Vielen Dank.

Gruß

Revan335
 

Merthos

Benutzer
Mitglied seit
01. Mai 2010
Beiträge
2.709
Punkte für Reaktionen
2
Punkte
84
@superflip
Da hat nicht wirklich was mit autorun zu tun. Das DSM unterstützt halt nur gewisse Ordner. Wenn Du was anderes möchtest, musst Du selber Hand anlegen...

@Revan335
Was soll autorun bei Deiner Konstellation auslösen? Das Backup auf der QNAP starten? Wenn Du einen Weg findest, das Remote auszulösen, dann ja, kannst Du das auch in das Skript packen. Hierzu müsstest Du aber eher in einem QNAP-Forum fragen.
Und ich habe keine Ahnung, ob autorun auf einer EDS läuft?
 

Revan335

Benutzer
Mitglied seit
23. Sep 2014
Beiträge
6
Punkte für Reaktionen
0
Punkte
0
Das Backup ist getimet.
Es geht nur um das Auswerfen der Platte an der Syno danach.

Wie kann ich den feststellen um Autorun läuft ?
 

Merthos

Benutzer
Mitglied seit
01. Mai 2010
Beiträge
2.709
Punkte für Reaktionen
2
Punkte
84
Nö, dafür ist es nicht gedacht.
 

superflip

Benutzer
Mitglied seit
27. Jul 2015
Beiträge
3
Punkte für Reaktionen
0
Punkte
0
also falls es doch wen interessiert - ich habe im /etc/exports noch den /mnt/backup Pfad hinzugefügt und im autorun auf der USB-Platte noch den Befehl "/usr/sbin/exportfs -a" hinzugefügt. - funktioniert nun wunderbar.
Bis auf den Boot-Vorgang der gesamten DS. Wenn ich die DS komplett neu boote, ist zwar das /volumeUSB1/usbshare da, autorun wird da aber noch nicht ausgeführt... - kann ich das irgendwie aktivieren?

Danke,
Philipp
 

Revan335

Benutzer
Mitglied seit
23. Sep 2014
Beiträge
6
Punkte für Reaktionen
0
Punkte
0
Schade! Was hab ich dann für Möglichkeiten für automatisches unmount nachdem Backup?
Danke!
 

Revan335

Benutzer
Mitglied seit
23. Sep 2014
Beiträge
6
Punkte für Reaktionen
0
Punkte
0
Ich glaube nicht das die QNAP Bordmittel (RTRR) über Scripte laufen.

Deshalb wird das wohl leider etwas schwierig.

Kann mich natürlich auch täuschen.
 

thothothomas

Benutzer
Mitglied seit
09. Feb 2015
Beiträge
64
Punkte für Reaktionen
0
Punkte
6
Hallo,
ich versuche seit ein paar Tagen mittels des autoruns einen kopiervorgang auf meine externe HDD anzustoßen, leider bekomme ich es aber einfach nicht zum laufen...
Das Skript wird aufgerufen und scheinbar auch die ersten 3 Zeilen abgearbeitet. Aber die letzten beiden nicht (was eigentlich der wichtige Teil ist, Zeile 2 und 3 waren nur zum testen).
Gibt es einen debug Möglichkeit? Ich vermute es liegt an der Übergabe meiner Variablen, da der Befehl ohne Variablen einwandfrei durchläuft...
Rich (BBCode):
#!/bin/sh
echo "1 '$1'" >> /volume1/backups/p1.txt
echo "2 '$2'" >> /volume1/backups/p2.txt
rsync -av --progress -hh --exclude=Clips /volume1/homes/Thomas/ '$1'/Backup_`date '+%Y_%m_%d'`
rsync -av --progress -hh /volume1/photo '$1'/Backup_`date '+%Y_%m_%d'`
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
30.691
Punkte für Reaktionen
2.098
Punkte
829
Du solltest in solchen Skripten immer alle Pfade ausschreiben - also z.B. /usr/syno/bin/rsync - oder die nötigen Pfade in die Umgebungsvariable PATH schreiben.
 

thothothomas

Benutzer
Mitglied seit
09. Feb 2015
Beiträge
64
Punkte für Reaktionen
0
Punkte
6
Danke für den Tipp! Das ausschreiben der Pfade sowie entfernen des ' - Zeichens bei den Variablen führte zum Erfolg!
 

Gauner

Benutzer
Mitglied seit
26. Jul 2015
Beiträge
3
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich bin bald am Verzweifeln.
Ich habe einen USB-Stick, dessen autorun so aussieht:
Code:
#!/bin/sh
/opt/bin/unison /volume1/a.tmp /volumeUSB1/usbshare/a.tmp -fat -prefer newer -batch -log -logfile /volume1/Media/unisonlog.txt -nodeletion /volume1/a.tmp -nodeletion /volumeUSB1/usbshare/a.tmp
exit $?
Das Skript wird ausgeführt (angeblich - gemäß DSM-Benachrichtigung und autorun-Logfile), aber unison scheinbar nicht.
Wenn ich per SSH-Shell (als User eingeloggt) das autorun ausführe, klappt alles wie gewünscht, unison arbeitet.
Die zu synchronisierenden Ordner /volume1/a.tmp und /volumeUSB1/usbshare/a.tmp gehören diesem User.


Ich habe testhalber mal nur
Code:
#!/bin/sh
/opt/bin/unison -version > unisonoutput
echo "mount point: $1" >> autorunoutput
exit $?
getestet - gleicher Effekt: Funktioniert von der Console
Code:
sh autorun
, nicht aber beim Einstecken des Sticks. unisonoutput wird angelegt, aber bleibt leer. Das Skript wird aber definitiv ausgeführt, wie der erfolgreiche Befehl
Code:
echo "mount point: $1" >> autorunoutput
beweist. autorunoutput enthält nach Einstecken des Sticks und automatischem Ausführen die entsprechende Ausgabe.

Dann habe ich mal einen anderen Befehl aus /opt/bin/ getestet, und zwar willkürlich
Code:
#!/bin/sh
/opt/bin/cksum --help > ckoutput
exit $?
Auch das funktioniert nicht, ckoutput wird angelegt, aber bleibt leer.

Ich vermute also, dass das Skript beim automatischen Lauf irgendwie nichts in /opt/bin ausführen darf. Aber es wird doch als als root ausgeführt, was sollte also das Problem sein?
 
Zuletzt bearbeitet:


 

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