Autorun für ext. Datenträger

Status
Für weitere Antworten geschlossen.
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?
 
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.
 
Nachtrag: Der Fehler tritt auch auf wenn die maximale Passwortlänge von 64 Zeichen überschritten wurde.
 
Funktioniert das Script auch bei der neuen DS215+ (Annapurna Labs AL-212)? Habe bei der Forensuche nichts gefunden.
 
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.
 
autorun ist nicht von der Architektur abhängig.
 
Super, danke für die Antworten! Ohne das Script hätte ich die DS215+ nicht gekauft ;)
 
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
 
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
 
@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?
 
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 ?
 
Nö, dafür ist es nicht gedacht.
 
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
 
Schade! Was hab ich dann für Möglichkeiten für automatisches unmount nachdem Backup?
Danke!
 
kannst du nicht in deinem Backup-Skript am Ende ein umount machen?
 
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.
 
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'`
 
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.
 
Danke für den Tipp! Das ausschreiben der Pfade sowie entfernen des ' - Zeichens bei den Variablen führte zum Erfolg!
 
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:
Status
Für weitere Antworten geschlossen.
 

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