Unter dem Menüpunkt -> Systemadministation -> Systemprotokolle im AdminCP vom NAS. Nicht auf der Konsole oder in einem Logfile.
Also praktisch da wo man wirklich guckt
Grüsse, David
Unter dem Menüpunkt -> Systemadministation -> Systemprotokolle im AdminCP vom NAS. Nicht auf der Konsole oder in einem Logfile.
Also praktisch da wo man wirklich guckt
Grüsse, David
Perfekt! Danke für das Script, nun funktioniert - im Gegensatz zu dem im engl. Wiki beschriebenen Optware-Snippet - auch das korrekte Stoppen der Dienste.
Cheers
Hallo,
ich habe wahrscheinlich den Fehler bei mir gefunden :oops:
Zitat
Welche Service kann ich nutzen? Ich will nichts falsch machen
Ich möchte nur ausprobieren ob es funktioniert.
Grüße,
Jacek
Da kannst Du eingeben was Du möchtest.
z.B.
NAME="Pyload"
So würdest Du dann beim starten "Starting pyload" im Admincp sehen.
Grüsse, David
ZitatDa kannst Du eingeben was Du möchtest.
dann sollte ich auch "Strating Servicenahme" unter >>Systemereignisprotokolle sehen. Sehe aber leider nicht
Typ Datum Uhrzeit Benutzer Quellen-IP Computername Inhalt
2012-02-01 10:10:54 System 127.0.0.1 localhost [Antivirus] Virus definition updated.
2012-02-01 10:08:56 System 127.0.0.1 localhost System started.
2012-02-01 10:07:31 System 127.0.0.1 localhost System was shut down on Wed Feb 1 10:07:31 CET 2012.
Also bei mir tut es noch nicht richtig. Schritte wie früher geschrieben habe ich vor dem reboot noch mal geprüft. Mache es noch mal...
Der aktuelle autorun.sh befindet sich immer auf der erste Seite, oder?
Terz,
vielen dank für dein Geduld und deine Antworten.
Habe ich noch mal geprüft.
1. Skript manuell ausgeführt:
2. Ergebnisse in Systemlog geprüft -> waren da
3. Reboot -> nicht da
2012-02-01 11:30:47 System 127.0.0.1 localhost System started.
2012-02-01 11:29:23 System 127.0.0.1 localhost System was shut down on Wed Feb 1 11:29:23 CET 2012.
2012-02-01 11:27:13 admin 192.168.1.104 --- [Power Management] System will be restart now.
2012-02-01 11:25:25 SYSTEM 127.0.0.1 LOCAL Shutting down Startup Test Script
2012-02-01 11:25:14 SYSTEM 127.0.0.1 LOCAL Starting Startup Test Script
Also muss etwas mit autorun nicht richtig funktionieren. Anbei autorun.sh noch mal:
#!/bin/sh
#Determine optware directory and symlink it to /opt
for optwaredirexists in `ls -d /share/* | grep "_DATA" | sort`
do
#optware was determined
if [ -d ${optwaredirexists%/}/.qpkg/Optware ]; then
OPTWARE=${optwaredirexists%/}/.qpkg/Optware
#optware is already symlinked
if [ -h /opt ]; then
#symlinked but wrong directory
if [ $(readlink "/opt") != ${OPTWARE} ]; then
rm -Rf /opt
ln -sf ${OPTWARE} /opt
fi
#optware is a directory
elif [ -d /opt ]; then
rm -Rf /opt
ln -sf ${OPTWARE} /opt
#optware does not exist
else
ln -sf ${OPTWARE} /opt
fi
fi
done
#execute if OPTWARE was determined
if [ ! -z ${OPTWARE} ]; then
#set environment variables
SET_ENV_VARS="/opt/bin:/opt/sbin:/usr/local/bin:/usr/local/sbin"
export PATH=$PATH:$SET_ENV_VARS
echo "export PATH=$PATH" >> /etc/profile
#load libs if directory exists
if [ -d /opt/lib ]; then
echo "/opt/lib" >> /etc/ld.so.conf
/sbin/ldconfig
fi
#Starting Optware daemons and create shutdown rcK symlink (starting
at K200)
#if directory /opt/etc/init.d exists
if [ -d /opt/etc/init.d ]; then
#if directory is not empty
if [ "$(ls -A "/opt/etc/init.d")" ]; then
I=200
for optdaemon in `ls /opt/etc/init.d/S* | grep -v '~' | sort`
do
#execute only if init script is executable
if [ -x ${optdaemon} ]; then
${optdaemon} start
#create symlink in rcK.d to shutdown the daemon
ln -s ${OPTWARE}/etc/init.d/${optdaemon##*/}
/etc/rcK.d/K${I}${optdaemon##*/}
I=$(($I+1))
fi
done
fi
fi
fi
Alles anzeigen
Am TS-219P II ist doch /dev/mtdblock5 für autorun.sh richtig, oder?
Wie kann es sein dass bei anderen Kollegen alles geklappt hat, bei mir tut es nicht wirklich
Grüße,
Jacek
ZitatAm TS-219P II ist doch /dev/mtdblock5 für autorun.sh richtig, oder?
Jupp
Die zwei Zeilenumbrüche hast du in deiner autorun.sh schon gefixt?
#Starting Optware daemons and create shutdown rcK symlink (starting ...
ln -s ${OPTWARE}/etc/init.d/${optdaemon##*/} ...
Ich bins noch mal:
ZitatInit Script's fangen mit einem Grossen S (wie Siegfried) und einer nachfolgenden Zahl an. Ein Beispiel für das Starten von einem openSSH Dienst wäre der Dateiname: S20openssh
Name des Skriptes habe ich geändert: STest -> S25test
[~] # cd /opt/etc/init.d/
[/opt/etc/init.d] # ls -l
-rwxr-xr-x 1 admin administ 106 May 14 2010 S05gconv-modules*
-rwxr-xr-x 1 admin administ 1714 Nov 30 2010 S20dbus*
-rwxr-xr-x 1 admin administ 614 Feb 1 11:24 S25test*
[/opt/etc/init.d] #
und hat es auch nicht geklappt.
ZitatDie zwei Zeilenumbrüche hast du in deiner autorun.sh schon gefixt?
#Starting Optware daemons and create shutdown rcK symlink (starting ...
ln -s ${OPTWARE}/etc/init.d/${optdaemon##*/} ...
Ich habe 1:1 autorun.sh von erster Seite übernommen. Ich schaue es mir genauer an...
Das war das! Binomico - vielen Dank! Jetzt kann ich ruhig schlafen.
Funktioniert alles. Danke für den tollen Skript!
Grüße,
Jacek
Hallo zusammen,
hat jemand pyload auf der ts 109 am laufen?
Sorry, dass ich hier so rein platze.
Danke
Thomas
Hallo Terz, ich habe nach deinem Wiki payload auf meiner TS459ProII instsalliert. Manuell kann ich es starten. Wo finde ich die autorun.sh, oder kann sie erstellen? Mit dem Wiki komme ich leider nicht klar. Mit der TS119plus klappt es. Leider weis ich nicht mehr, wie ich es da gemacht habe...... :oops:
Hallo pointde,
bin bei der Suche zu einem anderen Thema auf Deine Frage gestoßen.
Sollest Du noch nichts gefunden haben, so habe ich folgende Info für Dich.
Die autorun.sh mußt Du beim TS459Pro auf /dev/sdx6 anlegen.
Ich selbst habe mich für eine Variante entschieden, die unter http://forum.qnap.com/viewtopic.php?p=87062 beschrieben steht.
Die Idee aus der autorun.sh nur einmal eine autorunmaster aus /share/MD0_DATA/cutsom aufzurufen gefällt mir.
Dann braucht man nicht immer auf dem boot device umherschreiben und spart sich dass laufende mounten und unmounten.
Gruß
penatus
Meine Lösung zu vielen der vorstehenden Fragen:
Die autorun.sh wird aus /etc/init.d/init_nas.sh heraus aufgerufen.
Im Verzeichnis /etc/rcS.d sehen wir:
d# ls -l /etc/rcS.dlrwxrwxrwx 1 admin administ 32 Jun 20 11:13 QS100JRE -> /share/MD0_DATA/.qpkg/JRE/jre.sh*lrwxrwxrwx 1 admin administ 40 Jun 20 11:13 QS101Optware -> /share/MD0_DATA/.qpkg/Optware/Optware.sh*lrwxrwxrwx 1 admin administ 18 Jun 5 05:20 S30mountall -> ../init.d/mountall* [... viele Zeilen gelöscht ...]lrwxrwxrwx 1 admin administ 18 Jun 5 05:20 S97upnpd -> ../init.d/upnpd.sh*lrwxrwxrwx 1 admin administ 21 Jun 5 05:20 S98init_nas -> ../init.d/init_nas.sh*lrwxrwxrwx 1 admin administ 18 Jun 5 05:20 S99atalk -> ../init.d/atalk.sh*lrwxrwxrwx 1 admin administ 26 Jun 5 05:20 S99centerim -> ../init.d/init_centerim.sh*....
Also: autorun.sh wird vor Optware.sh aufgerufen, was viele der beklagten Fehler erklärt: manuell aufgerufen funktionieren viele Skripte, die beim Systemstart versagen .... weil die Reihenfolge nicht stimmt.
Das lässt sich auch im Sytem-Log nachvollziehen, wenn man die Skripte Logeinträge schreiben läßt.
Persistent verankert in /tmp/config/autorun.sh :
#!/bin/sh#CUSTOM=/share/MD0_DATA/.custom[ -x ${CUSTOM}/autorun.sh ] && exec ${CUSTOM}/autorun.sh##
(Hinweis: alle 3 Möglichkeiten (call, symlink, exec) funktionieren, ich habe mich aus mehreren Gründen für die "exec-Variante" entschieden.)
Meine eigentliche autorun.sh (/share/MD0_DATA/.custom/autorun.sh) beginnt mit:
#!/bin/sh# autorun.sh - script called from S98init_nas -> /etc/init.d/init_nas.sh#CUSTOM=${CUSTOM:-/share/MD0_DATA/.custom}export CUSTOM/sbin/log_tool -a "AUTORUN: ${CUSTOM}/autorun.sh"...
und meine Optware.sh beginnt analog:
Innerhalb Optware.sh wird standardmässig das gemacht, was viele Autoren in ihrer autorun.sh - verfrüht - ebenfalls machen,
insbesondere wird der Symlink /opt -> /share/MD0_DATA/.qpkg/Optware angelegt und später die Environment-Variable PATH
in /etc/profile um die /opt-Pfade ergänzt.
Über die Reihenfolge kann man streiten, ich halte es für sinnvoller, die /opt-Pfade an den Anfang zu stellen, also
# adding Ipkg apps into system path ... /bin/cat /etc/profile | /bin/grep "PATH" | /bin/grep "/opt/bin" 1>>/dev/null 2>>/dev/null## [ $? -ne 0 ] && /bin/echo "export PATH=\$PATH":/opt/bin:/opt/sbin >> /etc/profile [ $? -ne 0 ] && /bin/echo "export PATH=/opt/bin:/opt/sbin:\$PATH" >> /etc/profile ...
Damit zu dem, was ich eigentlich sagen will:
wenn wir schon die Optware.sh ändern (patchen), warum dann nicht gleich richtig? Alle das Optware-System betreffenden Ergänzungen und Initialisierungen sollten in Optware.sh untergebracht werden, nicht in der autorun.sh !
Aufgefallen ist mir das erst, weil das Konstrukt
#load libs if directory exists
if [ -d /opt/lib ]; then
echo "/opt/lib" >> /etc/ld.so.conf
/sbin/ldconfig
fi
in der autorun.sh nicht funktioniert, nicht funktionieren kann.
Mein System ist eine TS-509 Pro mit Firmware 3.7.0, bei anderen Systemen können die Pfade anders aussehen.
Hallo,
Seit ich FW 3.7.1 Build 20120615 auf meinem 219 II installiert habe sehe ich keine /opt/etc/init.id Verzeichnis.
Könnte jemand die Prozedur schrittweise anpassen? Leider verstehe ich Aktualisierung der Posts von 2012 nicht ganz...
Grüße,
J
Kann jemand mir helfen?
Zitat von "jdebs"habe sehe ich keine /opt/etc/init.id Verzeichnis.
Dieses Verzeichnis hat auch noch nie existiert, es sei denn, du hättest es angelegt.
Werde aber aus deinem Post nicht schlau, was du eigentlich willst.
ZitatWerde aber aus deinem Post nicht schlau, was du eigentlich willst
Ich will meine Startupskripte am laufenden haben. In FW 3.5 habe ich das Verzeichnis /opt/etc/init.id gehabt wovon die Startupskripte gelesen und ausgeführt wurden. Nach dem update verschwendete /opt/etc/init.id Ich dachte das Verzeichnis wird automatisch erstellt.
Das Problem löst sich wenn ich /opt/etc/init.id manuell erschaffe. Dann meine Startupskripte werden ausgeführt.
Danke und Grüße,
Jacek
Hallo Leute, habe ein kleines Problem und bin ein Linux Anfänger.
Habe mir letze Woche eine QNAP 269 Pro gekauft und bin damit sehr zufrieden.
Habe dort auch Pyload installiert und klappt Problemlos - auch das Autostart
Jetzt habe ich folgendes Problem. Da ich ein Oscam Server einrichten will möchte ich diesen auch per Autostart starten, das funktioniert allerdings nicht.
Derzeit habe ich folgende Files. Ich führe hier auch den Autostart für Pyload an, der allerdings funktioniert
share/MD0_Data/.qpkg/autorun/autorun.sh
#!/bin/sh#Determine optware directory and symlink it to /optfor optwaredirexists in `ls -d /share/* | grep "_DATA" | sort`do #optware was determined if [ -d ${optwaredirexists%/}/.qpkg/Optware ]; then OPTWARE=${optwaredirexists%/}/.qpkg/Optware #optware is already symlinked if [ -h /opt ]; then #symlinked but wrong directory if [ $(readlink "/opt") != ${OPTWARE} ]; then rm -Rf /opt ln -sf ${OPTWARE} /opt fi #optware is a directory elif [ -d /opt ]; then rm -Rf /opt ln -sf ${OPTWARE} /opt #optware does not exist else ln -sf ${OPTWARE} /opt fi fidone#execute if OPTWARE was determinedif [ ! -z ${OPTWARE} ]; then #set environment variables SET_ENV_VARS="/opt/bin:/opt/sbin:/usr/local/bin:/usr/local/sbin" export PATH=$PATH:$SET_ENV_VARS echo "export PATH=$PATH" >> /etc/profile #load libs if directory exists if [ -d /opt/lib ]; then echo "/opt/lib" >> /etc/ld.so.conf /sbin/ldconfig fi #Starting Optware daemons and create shutdown rcK symlink (starting at K200) #if directory /opt/etc/init.d exists if [ -d /opt/etc/init.d ]; then #if directory is not empty if [ "$(ls -A "/opt/etc/init.d")" ]; then I=200 for optdaemon in `ls /opt/etc/init.d/S* | grep -v '~' | sort` do #execute only if init script is executable if [ -x ${optdaemon} ]; then ${optdaemon} start #create symlink in rcK.d to shutdown the daemon ln -s ${OPTWARE}/etc/init.d/${optdaemon##*/} /etc/rcK.d/K${I}${optdaemon##*/} I=$(($I+1)) fi done fi fifi
mnt/HDA_ROOT/.config/qpkg.conf
[Squid]Name = SquidVersion = 3.1.16.5Author = QNAP Systems, Inc.QPKG_File = Squid.qpkgDate = 2013-07-11Shell = /share/MD0_DATA/.qpkg/Squid/Squid.shService_Port = 3128Install_Path = /share/MD0_DATA/.qpkg/SquidWebUI = /squidEnable = TRUEClass = nullStatus = completecfg:qpkg_squid.conf = dc130b14295ea09b97e63b009a053f27cfg:manual_squid.conf = cdd17308060d703cde27b38b1f70e4e6[JRE]Name = JREClass = nullStatus = completeVersion = 6.0.22Enable = TRUEQPKG_File = JRE.qpkgDate = 2013-07-11Shell = /share/MD0_DATA/.qpkg/JRE/jre.shInstall_Path = /share/MD0_DATA/.qpkg/JREAuthor = Optimus[Optware]Name = OptwareClass = nullStatus = completeVersion = 0.99.163Author = SL1000QPKG_File = Optware.qpkgDate = 2013-07-11Shell = /share/MD0_DATA/.qpkg/Optware/Optware.shInstall_Path = /share/MD0_DATA/.qpkg/OptwareWebUI = /Optware/Enable = TRUE[TwonkyMedia]Name = TwonkyMediaClass = nullStatus = completeVersion = 7.0.13Enable = TRUEQPKG_File = TwonkyMedia.qpkgDate = 2013-07-11Shell = /share/MD0_DATA/.qpkg/TwonkyMedia/twonkymedia6.shInstall_Path = /share/MD0_DATA/.qpkg/TwonkyMediaWeb_Port = 9000WebUI = /Pid_File = /tmp/mediaserver.pidAuthor = QNAP Systems, Inc.[autorun]Name = autorunVersion = 0.1Author = neomiliumDate = 2013-05-06Shell = /share/MD0_DATA/.qpkg/autorun/autorun.shInstall_Path = /share/MD0_DATA/.qpkg/autorunEnable = TRUE[iStat]Name = iStat[phpMyAdmin]Name = phpMyAdminClass = nullStatus = completeVersion = 3.3.5Enable = UNKNOWNQPKG_File = phpMyAdmin.qpkgDate = 2013-07-12Install_Path = /share/Web/phpMyAdminConfig_Path = /share/Web/phpMyAdmin/config.inc.phpWeb_Port = 80WebUI = /phpMyAdmin/Author = QNAP Systems, Inc.
share/MD0_Data/.qpkg/optware/etc/init.d/S10pyload
#!/bin/shstart(){ echo "Starting " /opt/pyload/pyLoadCore.py --configdir=/opt/etc/pyload --daemon}stop(){ echo "Shutting down " /opt/pyload/pyLoadCore.py --configdir=/opt/etc/pyload --quit}# you do not need to edit this linescase "$1" in start) start ;; stop) stop ;; restart) # Restarting the Daemon $0 stop $0 start ;; *) ## If no parameters are given, print which are avaiable. echo "Usage: $0 {start|stop|restart}" exit 1 ;;esac
share/MD0_Data/.qpkg/optware/etc/init.d/S20oscam hier muss ein Fehler sein!
Wenn ich per Telnet oder Putty einlogge kann ich mit
starten: /mnt/HDA_ROOT/.config/cs/bin/./oscam -b -c /mnt/HDA_ROOT/.config/cs/etc
stoppen: killall -9 oscam
Die Dateien von Oscam liegen auf mnt/HDA_ROOT/.config/cs dort gibt es zwei Unterordner mit bin und etc... unter bin liegen die binarys für den kartenleser und unter etc die oscam files.
per telnet und putty kann ich manuell starten
#!/bin/sh
start()
{
echo "Starting "
/mnt/HDA_ROOT/.config/cs/bin/./oscam -b -c /mnt/HDA_ROOT/.config/cs/etc
}
stop()
{
echo "Shutting down "
killall -9 oscam
}
# you do not need to edit this lines
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
# Restarting the Daemon
$0 stop
$0 start
;;
*)
## If no parameters are given, print which are avaiable.
echo "Usage: $0 {start|stop|restart}"
exit 1
;;
esac
Alles anzeigen
Bitte um Hilfe. Irgendwas mache ich falsch
Zitat von "winklernorbert28"
Der Pfad ist doch bestimmt <somepath>/bin/oscam und nicht <somepath>/bin/./oscam
. bedeutet "dieses Verzeichnis". Genauso wie .. "Mutterverzeichnis" bedeutet. Daher ja auch "cd ..". Wenn du "cd ." tippst, dann landest du im selben Verzeichnis.
Als Shell-Neuling hat dich das bestimmt verwirrt, weil du wohl oscam mit dem Befehl "./oscam" von Hand gestartet hattest.