Update auf 965 = Script läuft nicht mehr

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

maze128

Benutzer
Registriert
03. Jan. 2010
Beiträge
227
Reaktionspunkte
0
Punkte
16
Hallo zusammen,

ich weiß nicht, ob das das richtige Forum ist, ich versuch's einfach mal:

Ich habe meine DS210j auf Firmware 965 upgedated, läuft so weit auch alles sehr gut, bis auf ein Script:

Kernteil:

Rich (BBCode):
hours1=`/usr/syno/bin/smartctl -d marvell -A /dev/hda | /bin/grep Power_On_Hours | /usr/bin/awk '{print $10}'`                                                                                                                                                                             
hours2=`/usr/syno/bin/smartctl -d marvell -A /dev/hdb | /bin/grep Power_On_Hours | /usr/bin/awk '{print $10}'`                                                                                                                                                                             
filesystem1=`df -h | grep md2 | awk '{print $6}'`                                                                                                                                                                                                                            
size1=`df -h | grep md2 | awk '{print $2}'`                                                                                                                                                                                                                                  
used1=`df -h | grep md2 | awk '{print $3}'`                                                                                                                                                                                                                                  
available1=`df -h | grep md2 | awk '{print $4}'`                                                                                                                                                                                                                             
percent1=`df -h | grep md2 | awk '{print $5}'`                                                                                                                                                                                                                               
filesystem2=`df -h | grep md3 | awk '{print $6}'`                                                                                                                                                                                                                            
size2=`df -h | grep md3 | awk '{print $2}'`                                                                                                                                                                                                                                  
used2=`df -h | grep md3 | awk '{print $3}'`                                                                                                                                                                                                                                  
available2=`df -h | grep md3 | awk '{print $4}'`                                                                                                                                                                                                                             
percent2=`df -h | grep md3 | awk '{print $5}'`                                                                                                                                                                                                                               
datum=`date +"%d.%m.%y`                                                                                                                                                                                                                                                      
zeit=`date +"%H:%M`                                                                                                                                                                                                                                                          
nachricht="Status%20$datum%20($zeit)%0A$filesystem1%20A:%20$available1%20U:%20$used1%20($percent1)%0AVolume%201%20Power%20on%20hours:%20$hours1%20h%0AVolume%202%20Power%20on%20hours:%20$hours2%20h"       
/usr/syno/bin/wget -O - --no-check-certificate https://prowl.weks.net/publicapi/add?apikey=$prowlid\&application=$mydevice\&event=$myevent\&priority=1\&description=$nachricht

Das wird/wurde 1x pro Tag gestartet um den freien Speicher auf mein Iphone zu puschen.

Das hat auch wunderbar funktioniert, allerdings bekomme ich nach dem Update seltsame Fehlermeldungen wenn ich es manuell per Telnet starte:

Rich (BBCode):
--18:48:45--  https://prowl.weks.net/publicapi/add?apikey=xxx&application=Diskstation&event=FreeSpace&priority=1&descriptio
n=Status%2001.02.10%20(18:48)%0A/volume1
           => `-'
Resolving prowl.weks.net... 209.20.89.148
Connecting to prowl.weks.net|209.20.89.148|:443... connected.
WARNING: Certificate verification error for prowl.weks.net: unable to get local
issuer certificate
HTTP request sent, awaiting response... 200 OK
Length: 118 [text/html]

 0% [                                     ] 0             --.--K/s             <
?xml version="1.0" encoding="UTF-8"?>
<prowl>
<success code="200" remaining="999" resetdate="1265050122" />
</prowl>
100%[====================================>] 118           --.--K/s

18:48:47 (199.69 KB/s) - `-' saved [118/118]

/opt%20A:%201.2T: Unsupported scheme.
--18:48:47--  ftp://1.2t%20u/%202.5T
           => `-'
Resolving 1.2t u... failed: Unknown host.
--18:48:49--  http://2.5t%20(69%25/
           => `-'
Resolving 2.5t (69%... failed: Unknown host.
--18:48:50--  ftp://69%25)%0Avolume%201%20power%20on%20hours/%20314%20h%0AVolume
%202%20Power%20on%20hours:%20308%20h
           => `-'
Resolving 69%)\012volume 1 power on hours... failed: Unknown host.

FINISHED --18:48:50--
Downloaded: 118 bytes in 1 files
NAS>

Hat jemand ne Idee woran das liegen könnte???
Ich hab es auch schon mit den kompletten Pfadangaben im Script versucht, also z.b. für df und awk, das bringt aber keine Besserung. Grade dieser Teil:

Rich (BBCode):
Resolving 2.5t (69%... failed: Unknown host.
--18:48:50--  ftp://69%25)%0Avolume%201%20power%20on%20hours/%20314%20h%0AVolume
%202%20Power%20on%20hours:%20308%20h
           => `-'
Resolving 69%)\012volume 1 power on hours... failed: Unknown host.

sieht irgendwie extrem merkwürdig aus, ich versteh nicht ganz was er da macht/versucht. Jedenfalls wohl nicht das, was er soll....
 
Auf den ersten Blick nicht wirklich was zu sehen.

Tipps:

- kontrolliere (per vi), ob nicht aus Versehen Windows-Zeilenvorschübe in das Skript gekommen
- benutze mal den IPKG-wget (anderer Pfad)

Itari
 
Auf den ersten Blick nicht wirklich was zu sehen.

Tipps:

- kontrolliere (per vi), ob nicht aus Versehen Windows-Zeilenvorschübe in das Skript gekommen
- benutze mal den IPKG-wget (anderer Pfad)

Itari

Hi,

danke für deine Antwort.

Punkt 1 ist ausgeschlossen!

Punkt 2: Ich denke nicht, dass wget das Problem ist, der Teil funktioniert gut und ich bekomme auch ne Nachricht aufs Iphone, allerdings kann er (so wie ich das sehe) z.B. mit power_on_hours nix anfangen und bastelt da irgendwie ne ftp-adresse zusammen.

Hast du dazu ne Ahnung oder ne Idee ob die Abfrage in der Firmware noch funktioniert??
 
setz doch ein 'echo' vor den wget und lass dir alles anzeigen ;)

Itari
 
Da zeigt er mir irgendwie nicht mehr an:

Rich (BBCode):
--18:43:15--  https://prowl.weks.net/publicapi/add?apikey=xxx&application=Diskstation&event=FreeSpace&priority=1&descriptio
n=Status%2003.02.10%20(18:43)%0A/volume1
           => `-'
Resolving prowl.weks.net... 209.20.89.148
Connecting to prowl.weks.net|209.20.89.148|:443... connected.
WARNING: Certificate verification error for prowl.weks.net: unable to get local
issuer certificate
HTTP request sent, awaiting response... 200 OK
Length: 118 [text/html]

 0% [                                     ] 0             --.--K/s             <
?xml version="1.0" encoding="UTF-8"?>
<prowl>
<success code="200" remaining="999" resetdate="1265222590" />
</prowl>
100%[====================================>] 118           --.--K/s

18:43:16 (324.37 KB/s) - `-' saved [118/118]

/opt%20A:%201.1T: Unsupported scheme.
--18:43:16--  ftp://1.1t%20u/%202.5T
           => `-'
Resolving 1.1t u... failed: Unknown host.
--18:43:18--  http://2.5t%20(70%25/
           => `-'
Resolving 2.5t (70%... failed: Unknown host.
--18:43:19--  ftp://70%25)%0Avolume%201%20power%20on%20hours/%20328%20h%0AVolume
%202%20Power%20on%20hours:%20323%20h
           => `-'
Resolving 70%)\012volume 1 power on hours... failed: Unknown host.

FINISHED --18:43:19--

Auf dem Telefon kommt auch was an, aber nach Volume1 ist schluß....
 
Ergibt denn ein echo $nachricht vor dem wget (ggf gleich nach echo in der folgenden Zeile ein exit damit wget ned aufgerufen wird) den Wert, den du erwartest?
 
Nicht wirklich, das sieht dann so aus:

Rich (BBCode):
freespace.sh
Status%2003.02.10%20(18:53)%0A/volume1 /opt%20A:%201.1T 1.1T%20U:%202.5T 2.5T%20
(70% 70%)%0AVolume%201%20Power%20on%20hours:%20329%20h%0AVolume%202%20Power%20on
%20hours:%20323%20h

Keine Ahnung wie die Leerzeichen da reinkommen und was das opt da zu suchen hat.....
Genau dieses Script hat vor dem Update halt wunderbar funktioniert.....
 
Hallo,
Rich (BBCode):
0A/volume1 /opt%20A
genau an diesem Leerzeichen endet der wget Befehl.
Wahrscheinlich hast Du opt gemountet. Was gibt denn mount aus?
Gruß Götz
 
Hi,

ja, das hatte ich leider auch schon festgestellt, die interessante Frage wäre wo es herkommt und wo das /opt herkommt, noch interessanter wäre dann wie ich es wegbekomme :D

Von geringerem Interesse wäre die Frage wieso es in der neuen Firmware nicht mehr geht....

Was meinst du mir "Was gibt mount aus"?
Bin nicht sooo super fit in Linux....
 
Hallo,
was gibt denn mount aus? /opt kommt von der IPKG Installation. Ich habe bei mir den mount durch einen Symlink ersetzt und das funktioniert reibungslos.

Gruß Götz
 
Wie bekomm ich denn die Ausgabe von mount?
Ich hab opt hier ja garnicht benutzt, oder wird das von irgendeinem der Kommandos aufgerufen??
 
Hallo,
auf der Kommandeozeile mount eingeben. /opt wird angelegt wenn Du IPKG installierst.

Gruß Götz
 
Da kommt

Rich (BBCode):
/dev/md0 on / type ext3 (rw,data=ordered)
/tmp on /tmp type tmpfs (rw)
/sys on /sys type sysfs (rw)
/proc/bus/usb on /proc/bus/usb type usbfs (rw)
/dev/md2 on /volume1 type ext3 (usrquota,grpquota)
/volume1/@optware on /opt type --bind (rw)
/ on /volume1/root type --bind (rw)

Die Frage wäre was das /opt in der Nachricht zu suchen hat, also wie kommt es da rein wenn ich es nicht aufrufe?
 
Hallo,
wenn Du df auf der Kommandozeile eingibst, wirst Du sehen, daß md2 in 2 Zeilen vorkommt, dadurch das Leerzeichen bzw. Zeilenvorschub. Filter doch nach volume1.

Gruß Götz
 
Sortiert wird auf der Linux-Kommandozeile mit:
[Kommando] | grep [Suchterm]
In einem Beispiel:
df | grep volume1
(bei mehreren Wörtern in Anführungszeichen setzen!)

MfG Matthieu
 
Ok, danke für die Erklärung.
Das Problem ist jetzt, dass selbst mit volume1 noch 2 dort auftauchen.

Einmal /volume1 und einmal /volume1/root.
Hab halt root gemounted um besser drauf zugreifen zu könnten, aber das ging halt vorher auch.... Noch ne Idee?? :confused:



EDIT: Spricht was dagegen nach /opt zu filtern??
 
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