Подтвердить что ты не робот

Запускать команду каждую секунду в Bash?

Я хочу написать некоторый загрузчик изображений и назначить его на bash. Что мне нужно и что мне нужно:

У меня есть:

  • Команда, которая работает нормально (что-то вроде wget http://mywebcam.com/image.jpg -O /var/cam/Image.jpg)
  • Права на корни

  • Быстрая интернет-линия между моим сервером и моей веб-камерой

Что мне нужно:

Загрузите изображение с камеры каждую секунду * (сон 1?) * и перепишите его локально (моя команда делает это хорошо) Запустите этот script сразу и не беспокойтесь о перезагрузке (я думаю, мне нужно создать файл с помощью команд bash и запустить его один раз + установить работу crontab "при перезагрузке" в этот файл, верно?)

Может быть, кто-то, кто знает, что мне делать?

4b9b3361

Ответ 1

Если вы хотите запустить команду с интервалом в одну секунду (одна секунда между окончанием одной команды и началом следующего, которая не совпадает с запуском каждую секунду), просто выполните:

while sleep 1; do cmd; done

Если вы хотите начать перезагрузку, этот метод будет зависеть от вашей системы.

Ответ 2

Команда watch сделает это для вас прямо. Он также отображает результат в хорошем виде.

$ watch -n 1 date

Подставьте date для вашей команды. Параметр -n указывает интервал в секундах.