Hook für IMAP Komandos

Status
Für weitere Antworten geschlossen.

Hawk999

Benutzer
Mitglied seit
08. Feb 2010
Beiträge
273
Punkte für Reaktionen
0
Punkte
16
Hallo jahlives,

habe eine DS 109. Ich schaue mir das morgen mal an. Ja irgendwie muß es ja gehen, aber wie, dass ist die große Frage. Erstmal läufts im Moment (vielleicht bis morgen) mit nem cron.
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Eine andere Idee aus dem OffTopic Thread ist auch ein USB Stick resp eine externe SSD Platte
Gerade noch nachgeschaut: Du müsstest 128 MByte RAM haben, das könnte knapp werden. Setz das free Kommando am besten mal direkt nach einem Neustart ab. 15 MByte RAM müssen mindestens frei sein
 

QTip

Super-Moderator
Teammitglied
Mitglied seit
04. Sep 2008
Beiträge
2.341
Punkte für Reaktionen
14
Punkte
84

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
oder meine Lösung, die ihr glaube beide nicht gesehen habt ;)
Doch die Lösung habe ich schon gesehen. War aber anscheindend nicht was er wollte ;)
Er wollte ja den Abruf häufig machen wenn ein Client verbunden ist und selten wenn kein Client angemeldet ist. Deine Lösung wird ja nur einmalig beim Anmelden ausgeführt. Da müsste dann ein cronjob übernehmen und der würde wohl die Platten auch wecken ;)
 

Hawk999

Benutzer
Mitglied seit
08. Feb 2010
Beiträge
273
Punkte für Reaktionen
0
Punkte
16
@QTip
Wenn es mit deinem script geht, dass sich die abfrage nach einer gewissen Zeit wiederholt. Ist kein client angemeldet so soll sich die ds schlafen legen.

@jahlives
Bin gespannt was bei allem rauskommt. Am einfachsten wäre es, wenn jemand der davon Ahnung hat es ausprobieren kann. Vorausetzung seineDS geht schlafen.
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Bin gespannt was bei allem rauskommt. Am einfachsten wäre es, wenn jemand der davon Ahnung hat es ausprobieren kann. Vorausetzung seineDS geht schlafen.
Ich denke ich werde morgen mal meine 2. DS wo die Webseiten drauf laufen, zur Testkiste umfunktionieren. Die hat auch 128 MByte RAM. Dann lasse ich meinen Code mal drauf laufen und schaue auf den Hibernate
**edit**
Ach was ich probiers gleich :)
**/edit**
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Zwischenbericht:
Habe ein Scipt mit den gleichen Kommandos. Das einizge Kommando, das im Log auftaucht (im Zusammenhang mit syno_hibernate_debug) und einen Bezug auf eine File auf den Platten nimmt ist ps. Das Kommando ruft /etc/nsswitch.conf auf. Habe das mal testweise nach /tmp kopiert, in /etc umbenannt und in /etc einen Symlink auf /tmp/nsswitch.conf gesetzt. Leider loggt messages diesen Zugriff immer noch. Wahrscheinlich weil dadurch die Platten geweckt würden.
Zum Testen habe ich den sleep im Scipt mal auf 11 Minuten gestellt. Nach 10 Minuten müsste die Platte schlafen gehen. Mal schauen ob die Platte nach 11min aufwacht wenn das Script den nächsten Durchlaufe macht.
Noch 4 Minuten dann weiss ich mehr (hoffentlich) ;)
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Ein bisschen mehr als 4 min ;)
Es ist wirklich so, dass ps mit /etc/nsswitch.conf die Platten weckt. Auch wenn /etc/nsswitch.conf nur ein Symlink nach /tmp/nsswitch.conf ist
 

Hawk999

Benutzer
Mitglied seit
08. Feb 2010
Beiträge
273
Punkte für Reaktionen
0
Punkte
16
Das heißt? Funktioniert es oder nicht?
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Das heißt? Funktioniert es oder nicht?
Das heisst ich weiss warum es nicht funzen kann. Leider scheint der zugriff auf diese Datei hardcodiert in busybox resp ps zu sein. Damit kommt man nicht darum herum busybbox neuzukompillieren. Und ob Synology dafür die Quellen rausrücken würde.
 

Hawk999

Benutzer
Mitglied seit
08. Feb 2010
Beiträge
273
Punkte für Reaktionen
0
Punkte
16
Und was ist mit der Möglichkeit USB-Stick oder SSD? An meiner DS hängt auch noch eine USB-Festplatte zur Datensicherung und es ist ein USB-Drucker angeschlossen?

Was ist mit der Lösung von QTip?
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Das heisst ich weiss warum es nicht funzen kann. Leider scheint der zugriff auf diese Datei hardcodiert in busybox resp ps zu sein. Damit kommt man nicht darum herum busybbox neuzukompillieren. Und ob Synology dafür die Quellen rausrücken würde.

Wenn es explizit der ps ist, und dieser auch so aufgerufen wird, dann könnte man ja den symbolischen Link verändern (oder einen IPKG-ps installieren) und sie auf einen ps im /tmp-Bereich zeigen lassen. Vielleicht kann man sogar was über die PATH-Variable machen.

Itari
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Also QTips Lösung wird nur einmal beim Anmelden ausgeführt. Nicht wiederholend. du müsstest dich also Ab-und Anmelden damit es regelmässig funzt. Es braucht also immer noch einen cronjob, der die Emails abholt (z.B. alle 3h) wenn kein Client angemeldet ist.
Mit USB gäbe es das gleiche Problem bei ps und dem stetigen Zugriff auf /etc/nsswitch.conf
@itari
PATH wurde ja bereits auf /tmp verbogen. Trotzdem ruft /tmp/ps regelmässig /etc/nsswitch.conf direkt von der Platte auf. Zum Testen habe ich nsswitch.conf in /etc mal als Link nach /tmp/nsswitch.conf angelegt: Gleiches Resultat, der Aufruf von /tmp/ps weckt die Platten.
Gibt es denn ein ipkg-Paket, das ps liefert? Ich dachte eigentlich ich hätte nichts gefunden.
Speicher habe ich zum Testen genügend freigeschaufelt ca 60 MByte und das müsste ja locker reichen, dass nicht geswappt werden muss
 

goetz

Super-Moderator
Teammitglied
Sehr erfahren
Mitglied seit
18. Mrz 2009
Beiträge
14.160
Punkte für Reaktionen
407
Punkte
393
Hallo,
Gibt es denn ein ipkg-Paket, das ps liefert?
ipkg install procps
Rich (BBCode):
DS-106> strings /opt/bin/procps-ps|grep nsswitch
DS-106>
DS-106> strings /opt/bin/procps-ps|grep lib
/lib/ld.so.1
libproc-3.2.8.so
libc.so.6
__libc_start_main
/opt/lib
Compiled with: glibc %d.%d, gcc %d.%d
vm_lib
pid,tname,majflt,minflt,m_trs,m_drs,m_size,m_swap,rss,m_share,vm_lib,m_dt,args
Gruß Götz
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
@goetz
Das ipkg Paket gleich mal installiert. Leider ruft die ipkg Version von ps ein anderes File auf der Platte auf
Feb 18 14:21:47 kernel: [/etc/ld.so.preload] opened by pid 15358 [u:ps), comm:ps)]
Auch bei dieser Datei weckt ein Symlink auf /tmp/ld.so.preload die Platten wieder auf
ls -all /tmp/ps
lrwxrwxrwx 1 root root 11 Feb 18 14:12 /tmp/ps -> /opt/bin/ps
 

goetz

Super-Moderator
Teammitglied
Sehr erfahren
Mitglied seit
18. Mrz 2009
Beiträge
14.160
Punkte für Reaktionen
407
Punkte
393
Hallo,
eventuell mit pidof ps umschiffen?

Gruß Götz
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Hallo,
eventuell mit pidof ps umschiffen?

Gruß Götz
Was würde ich ohne dich nur machen :)
Statt mittels ps und einer Kaskade von grep und grep -v, habe ich nun wie du vorgeschlagen hast pidof imap verwendet. In den Logs keine Spur einer externen Datei, die geöffnet werden würde. Ich denke die Platten müssten nun eigentlich durchschlafen können
@Hawk
Ersetzte mal die Zeile
Code:
s=`ps | grep imap ...`
mit
Code:
s=`pidof imap`
Meine Logs zeigen keinerlei Dateien mehr an die auf den Platten durch das Script geöffnet würden. imho müssten die Platten so einschlafen können
 

Hawk999

Benutzer
Mitglied seit
08. Feb 2010
Beiträge
273
Punkte für Reaktionen
0
Punkte
16
Muß ich nur die Zeile ersetzen? Und natürlich vorher die Links setzten sowie im script alles auf temp lassen?
 

Hawk999

Benutzer
Mitglied seit
08. Feb 2010
Beiträge
273
Punkte für Reaktionen
0
Punkte
16
Jetzt sagt er als Fehler "pidof not found"
 

jahlives

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