Задать вопрос
@OKNOZA

Как заставить bash выполнять команду через определённое время?

Набросал вот такой скрипт, FFmpeg делает скриншоты ТВ каналов, а как сделать чтобы он делал каждый раз через 3 минуты и удалял старый скриншот ?
#!/bin/bash 
ffmpeg -i http://127.0.0.1:1400 -r 0.1 -vframes 1 -s 640x360 -y /var/www/my/2x2.png&
ffmpeg -i http://127.0.0.1:1401 -r 0.1 -vframes 1 -s 640x360 -y /var/www/my/tnt4.png
  • Вопрос задан
  • 1803 просмотра
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
@kryvel
Системный администратор
добавить его в крон

crontab -e
*/3 * * * * /path/to/script.sh
и добавить в начало скрипта
rm -f /var/www/my/2x2.png  /var/www/my/tnt4.png >/dev/null 2>&1
Ответ написан
Комментировать
plin2s
@plin2s
IT, инженер
Во-первых добавить в скрипт удаление файлов перед созданием, чтобы выполнить последние условие.
Во-вторых:
1. в крон расписание на каждые три минуты
2. в конец скрипта "sleep 180" И все это в бесконечный цикл. Ну а запускать - ка душе угодно.
Ответ написан
Frankenstine
@Frankenstine
Сисадмин
Если В определённое время, то man at или через crontab.
Если таки ЧЕРЕЗ определённое время, то sleep таки на нужное число секунд.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы