Update auf 965 = Script läuft nicht mehr

Status
Für weitere Antworten geschlossen.

maze128

Benutzer
Mitglied seit
03. Jan 2010
Beiträge
227
Punkte für Reaktionen
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....
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
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
 

maze128

Benutzer
Mitglied seit
03. Jan 2010
Beiträge
227
Punkte für Reaktionen
0
Punkte
16
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??
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
setz doch ein 'echo' vor den wget und lass dir alles anzeigen ;)

Itari
 

maze128

Benutzer
Mitglied seit
03. Jan 2010
Beiträge
227
Punkte für Reaktionen
0
Punkte
16
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ß....
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
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?
 

maze128

Benutzer
Mitglied seit
03. Jan 2010
Beiträge
227
Punkte für Reaktionen
0
Punkte
16
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.....
 

goetz

Super-Moderator
Teammitglied
Sehr erfahren
Mitglied seit
18. Mrz 2009
Beiträge
13.993
Punkte für Reaktionen
262
Punkte
373
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
 

maze128

Benutzer
Mitglied seit
03. Jan 2010
Beiträge
227
Punkte für Reaktionen
0
Punkte
16
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....
 

goetz

Super-Moderator
Teammitglied
Sehr erfahren
Mitglied seit
18. Mrz 2009
Beiträge
13.993
Punkte für Reaktionen
262
Punkte
373
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
 

maze128

Benutzer
Mitglied seit
03. Jan 2010
Beiträge
227
Punkte für Reaktionen
0
Punkte
16
Wie bekomm ich denn die Ausgabe von mount?
Ich hab opt hier ja garnicht benutzt, oder wird das von irgendeinem der Kommandos aufgerufen??
 

goetz

Super-Moderator
Teammitglied
Sehr erfahren
Mitglied seit
18. Mrz 2009
Beiträge
13.993
Punkte für Reaktionen
262
Punkte
373
Hallo,
auf der Kommandeozeile mount eingeben. /opt wird angelegt wenn Du IPKG installierst.

Gruß Götz
 

maze128

Benutzer
Mitglied seit
03. Jan 2010
Beiträge
227
Punkte für Reaktionen
0
Punkte
16
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?
 

goetz

Super-Moderator
Teammitglied
Sehr erfahren
Mitglied seit
18. Mrz 2009
Beiträge
13.993
Punkte für Reaktionen
262
Punkte
373
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
 

Matthieu

Benutzer
Mitglied seit
03. Nov 2008
Beiträge
13.222
Punkte für Reaktionen
88
Punkte
344
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
 

maze128

Benutzer
Mitglied seit
03. Jan 2010
Beiträge
227
Punkte für Reaktionen
0
Punkte
16
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