2012-02-15 108 views
30

我想寫一些圖片下載並將其分配在bash上。我已經和我需要什麼:每秒運行命令

我:

  1. 命令,它工作得很好(有點像wget http://mywebcam.com/image.jpg -O /var/cam/Image.jpg
  2. 根權利

  3. 高速互聯網線路我的服務器之間我攝像頭

我需要:

從相機

下載圖像每秒*(休眠1?)*,並把它改寫localy (我的命令做得很好) 運行此腳本一次,不擔心重啓(我想我需要創建文件與bash命令並運行一次+設置crontab工作「在重新啓動」到這個文件,對不對?)

也許有人知道我該怎麼做?

+0

http://unix.stackexchange.com/questions/10646/repeat-a-unix-command-every-x-seconds-forever – 2016-05-18 09:45:39

+1

看我的[bash repeat function](http://unix.stackexchange.com/a/111504/27653),具有良好的粒度和持續時間檢查。 – 2016-12-04 16:24:29

回答

68

如果你想每隔一秒(一個命令的結束和下一個的開始,這是不一樣的運行每秒之間一秒)運行一個命令,只是做:

 
while sleep 1; do cmd; done 

如果您希望在重新啓動時啓動,該方法將取決於您的系統。

+0

我在我的服務器上安裝了CentOS。這是正確的方式將其添加到crontab? – 2012-02-15 19:17:27

+0

我對CentOS並不熟悉,但是cron不是要走的路。相反,嘗試添加一行到/etc/rc.local – 2012-02-15 20:13:11

+0

我用它來修復我的Virtualbox Linux VM中使用我的Windows'D:\ www \的文件系統錯誤,因爲它是Apache根文件夾。 – 2014-02-06 12:25:27

50

命令watch將直接爲您做到這一點。它還以很好的方式顯示結果。

$ watch -n 1 date 

替換date爲您的命令。 -n選項指定以秒爲單位的時間間隔。