2012-02-15 16 views
30

Chcę napisać jakiś downloader obrazu i przypisać go na bash. To, co mam i co muszę:polecenie Run co drugi

mam:

  1. poleceń, który działa dobrze (coś jak wget http://mywebcam.com/image.jpg -O /var/cam/Image.jpg)
  2. prawa okopowe

  3. linii szybkiego Internetu między mój serwer i My Kamera internetowa

Co jest potrzebne:

Pobierz obraz z kamery co sekundę * (Sleep 1?) * I przepisać go lokalnie (moje polecenie to zrobić dobrze) Uruchom ten skrypt na raz i nie martw się o restart (myślę, że trzeba utworzyć plik z komendą basha i uruchomić go raz + ustawić plik crontab "na reboot" do tego pliku, prawda?)

Może jest ktoś, kto wie, co powinienem zrobić?

+0

http://unix.stackexchange.com/questions/10646/repeat-a-unix-command-every-x-seconds-forever –

+1

Zobacz moją [funkcję powtarzania basha] (http://unix.stackexchange.com/a/111504/27653) z drobną ziarnistością i sprawdzaniem czasu trwania. –

Odpowiedz

68

Jeśli chcesz uruchomić polecenia w odstępach drugiego (jedną sekundę między końcem jednego polecenia i na początku następnego, który nie jest taki sam, jak działa każda sekunda), po prostu zrobić:

 
while sleep 1; do cmd; done 

Jeśli chcesz, aby rozpocząć na restarcie, metoda zależeć będzie od Twojego systemu.

+0

Mam CentOS na moim serwerze. Czy jest to właściwy sposób dodania go do crontaba? –

+0

Nie jestem zaznajomiony z CentOS, ale cron nie jest do zrobienia. Zamiast tego, spróbuj dodać linię do /etc/rc.local –

+0

Użyłem tego, aby naprawić błąd systemu plików, który mam z moją maszynę wirtualną VirtualBox, który wykorzystuje moje okna D: \ www \ jak to folder główny Apache. –

50

Polecenie watch zrobi to za Ciebie prosto. Wyświetla również wynik w przyjemny sposób.

$ watch -n 1 date 

Zastąpić date dla swojego polecenia. Opcja -n określa interwał w sekundach.