CIFSMOUNT nur 3 connections?

Was konkret?
In Deinen Beispielen sehe ich jetzt auch kein Problem, aber meine Aussage zu den überflüssigen Anführungszeichen bezog sich auf meine Änderung, nicht auf Deine Beispiele.
 
Ne, ich meinte ja nicht deine Änderungen sondern sowas wie zB das
Code:
if [ "$exitval" -eq 0 -a
in Zeile 66.

Ansonsten finde ich (überflüssige) Anführungszeichen meist gut
 
Juten Morgen!!

Habe das jetzt was im Trunk ist mal getestet...
Musste noch "meine" cgi dazu kopieren, aber jetzt rennt es perfekt...
Top Männers...

EDIT1:
Eine Einschränkung gibt es noch...
Das ändern von shares...irgendwie klappt der unmount noch nicht sauber...
Aber sonst...TOP...
 
Zuletzt bearbeitet:
EDIT1
Sehe grad das dann der Daemon gekillt ist...ein neustart des Daemons hilft dann und er mountet...
Das war halt vorher alles im "übernehmen" Button enthalten.
Aber wenn man es weiß iss es auch gut...

Dies hier:
Code:
Saving settings...done.
Saving cifsmount.cfg...done.
umount: can't umount /var/tmp/public: No such file or directory

unmount cifs...unmount //192.168.178.100/fritz_box...
unmount //192.168.178.100/ftp_verzeichnisse...
unmount //192.168.178.100/public...
failed.

Writing /var/flash/freetz...done.
70656 bytes written.
Und dann ist kein mount mehr da...
Dann heißt es reboot und alles iss fein oder per Hand...aber per Webif nix...
 
Möglicherweise liegt es daran, daß vorher der Status der Kommandos nicht ausgewertet wurde. Bei einem restart des Dienstes wird erst stop und dann start aufgerufen. Wenn es beim stop (unmount) einen Fehler gibt, dann bricht jetzt das Skript ab und macht den Start nicht.

Was ist mit /var/tmp/public? Ist das eine neu angelegte Freigabe? Und funktioniert ein Neustart über das WebIf oder nicht?
 
Genau...die public ist die die neu dazu gekommen ist...er versucht also eine zu unmounten die eben erst gespeichert wurde.
Dabei kommt es dann zum failed da nicht vorhanden und somit zum nicht startenden Daemon...
vielleicht sollte man nur unmounten wenn vorhanden...
z.b.
Code:
stop() {
	echo -n 'unmount cifs...'
	exitval=0

	for i in $CIFSMOUNT_LIST; do
		eval CIFSMOUNT_SHARE=\$CIFSMOUNT_SHARE$i
		eval CIFSMOUNT_MOUNTPOINT=\$CIFSMOUNT_MOUNTPOINT$i
		eval CIFSMOUNT_USER=\$CIFSMOUNT_USER$i
		eval CIFSMOUNT_PASS=\$CIFSMOUNT_PASS$i
		if [mount | grep "$CIFSMOUNT_MOUNTPOINT" ]; then
			echo "unmount $CIFSMOUNT_SHARE..."
			umount $CIFSMOUNT_MOUNTPOINT
			[ "$?" -gt 0 ] && exitval=1
			#rmdir $CIFSMOUNT_MOUNTPOINT
		fi
	done
Neustart über webif Dienste geht.
 
Zuletzt bearbeitet:
Sacht mal, geht das nicht auch ohne das evil eval?
 
Vielleicht ist es doch sinnvoll, irgendwo zu speichern, welche Dateisysteme gemountet wurden, damit man beim Stop wieder die gleichen entfernen kann.

Mir schwebt etwas in der Art vor, daß in /var/run die Angaben zu den gemounteten Partitionen gespeichert werden, damit beim stop auch genau diese wieder entfernt werden können. Außerdem könnte man dann die Funktion status auch so ändern, daß sie auf diese Datei abprüft. Im Moment würde status als running ausgegeben werden, auch wenn man nur von Hand ein cifsmount ausgeführt hat und nicht über dieses Webinterface.

@Silent-Tears
Wieso "evil eval"? Hast Du einen Tip, wie es ohne geht?
 
iss das hier nicht vollkommen ausreichend??

if [mount | grep "$CIFSMOUNT_MOUNTPOINT" ]; then
unmount...
 
Es deckt nur diesen einen Fall ab, daß eine neue Freigabe hinzugefügt wird..

Was ist mit diesen Fällen:
Es existiert eine gemountete Freigabe share1. Diese wird im Web-Interface entfernt. Würdest Du erwarten, daß danach share1 noch verbunden ist oder nicht?

Es existiert eine gemountete Freigabe share1. Im Web-Interface wird der Mountpunkt geändert. Würdest Du erwarten, daß danach share1 auf dem alten Mountpunkt noch verbunden ist oder nicht?
 
grmpf...ok...hast ja recht...hehe
 
Kostenlos!

Statistik des Forums

Themen
248,924
Beiträge
2,305,292
Mitglieder
378,651
Neuestes Mitglied
rehe992