Kamera www wrzuca mi co ok 5 sek obrazek output.jpeg na zewnętrzny serwer ftp. Zdjęcia oglądam "live" na stronie ze skryptem (odświeżanie co 3 sek):
  1. <script language=javascript>
  2. var image="output.jpeg";
  3. var refreshrate=3;
  4. var imgwidth=320;
  5. var imgheight=240;
  6. function refresh(){
  7. document.images["pic"].src=image+"?"+new Date();
  8. setTimeout('refresh()', refreshrate*1000);}
  9. document.write('<img src="'+image+'"height="'+imgheight+'"width="'+imgwidth+'" name="pic">');if(docu
  10. ment.images)window.onload=refresh;

Wszystko jest ok, ale chciałbym tez archiwizować stare zdjęcia. Do tej pory robię to tak, iż skrypt bash odpalany co 1 min w cron kopiuje mi zdjęcia do folderu, dodając im nazwy wg dat:
Kod
#!/bin/bash

KATALOG=$HOME/www/

cp $KATALOG"output.jpeg" $KATALOG"fotki/"$(date '+%Y-%m-%d_%H:%M')\.jpeg


Dzięki temu mam archiwizowane zdjęcia co 1 min (jest to maxymalna rozdzielczość czasowa crona = 1 min).
Zdjęcia uzyskują nazwy w postaci:
2010-12-26_10:25.jpeg

Martwi mnie jedna rzecz. Chciałbym archiwizacji nie co 1 min ale co 5 sek.Mianowicie kamera wysyła zdjęcia co 5 sek (czasami co 10). Mógłbym oczywiście wysyłać z kamery na ftp zdjęcia z nazwami w postaci (zamiast output.jpeg):
2010-12-26_10:25:05.jpeg
2010-12-26_10:25:10.jpeg
2010-12-26_10:25:15.jpeg
itd.
Tylko teraz:
1.Jak te zdjęcia odświeżać na stronie w miarę wydajnie i szybko ( a więc bez skryptu szukającego "najmłodszego" zdjęcia w katalogu, wydaje mi się ze to długotrwały proces)?
Do tej pory skrypt po prostu odświeżał na stronie zawsze output.jpeg (archiwizacja przez cron co 1 min, a wiec kopiowanie zdjecia z nadaniem mu nazwy wg daty do katalogu /fotki) a teraz archiwizacja miałaby miejsce per se bo kamera wysyłała by zdjęcia w postaci:
2010-12-26_10:25:05.jpeg
Problem z odświeżaniem bieżącego zdjęcia na stronie www, no bo jak wyświetlić z katalogu , w którym jest kilkaset zdjęć w powyższym formacie to aktualne, najnowsze, właśnie wrzucone przez kamerę na ftp?

Pytanie to zadaję w tym dziale bo problem wg mnie jest złożony i z zakresu wielu języków programowania.
BTW. Zdjęcia wrzucam programem ncftpd:
Kod
ncftpput -V -f /root/login.cfg -S .tmp /strony/www  /tmp/output.jpeg

gdzie: /root/login.cfg to parametry logowania do serwera ftp, /tmp/output.jpeg to miejsce utworzenia zdjęcia przez kamerę.
Skrypt odpalany co 5 sek przez demona fswebcam robiącego zdjęcie.


Ewentualnie proszę o inne pomysły jak archiwizować zdjęcia co 5 sek, z możliwością interaktywnego wyświetlania zdjęcia ostatniego co 5 sek na stronie.

Mozna oczywiście wysyłać 2 te same plki ale o inych nazwach:
refresh/output.jpeg i archiwum/2010-12-26_10:25:05.jpeg
tylko , że to generuje 2 razy większy ruch...
teraz sobie pomyślałem, że gdyby ncftpput wysyłał 1 zdjęcie source.jpeg ale kopiował je tak jak wyżej w 2 miejsca to ruch byłby ten sam, tylko jak to zrobic przy pomocy ncftpput?