Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Запись iptv по расписанию  (Прочитано 2502 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн xupypr

  • Автор темы
  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
Запись iptv по расписанию
« : 03 Февраля 2017, 20:06:44 »
есть ubuntu  сервер
на нем установлен vlc
мне нужно записывать iptv по расписанию

создал файлик с командой записи (при ручном запуске начинается запись)
вот такого содержания:

#!/bin/bash
cvlc -vvv http://iptv.com/playlist.m3u8 --sout file/home/iptv/ts:boks.ts

мне нужно
запускать его каждый день в 5 утра
убивать именно этот скрипт в 7 утра каждый день

файл который создается просто будет перезаписываться каждый день
 как это сделать?
при запуске такого скрипта в системе создается процесс vlc
также таких скриптов будет запущено несколько одновременно то есть будет одновременно записываться несколько тв программ
и в разное время нужно прекратить запись какой то конкретной программы но что бы другая продолжала работать

Оффлайн ReNzRv

  • Старожил
  • *
  • Сообщений: 2648
    • Просмотр профиля
Re: Запись iptv по расписанию
« Ответ #1 : 04 Февраля 2017, 23:07:24 »
как это сделать?
Прописать в сron.

Оффлайн xupypr

  • Автор темы
  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
Re: Запись iptv по расписанию
« Ответ #2 : 11 Февраля 2017, 18:35:25 »
Я понимаю что cron
я не понимаю какой командой прибить конкретную задачу
пид будет все время разный
а имя процесса у всех будет vlc

Оффлайн Peter_I

  • Старожил
  • *
  • Сообщений: 3037
    • Просмотр профиля
Re: Запись iptv по расписанию
« Ответ #3 : 11 Февраля 2017, 20:07:10 »
Если vlc будет в одном экземпляре, то
kill `pidof vlc`
Пётр.

Оффлайн ReNzRv

  • Старожил
  • *
  • Сообщений: 2648
    • Просмотр профиля
Re: Запись iptv по расписанию
« Ответ #4 : 12 Февраля 2017, 21:05:51 »
также таких скриптов будет запущено несколько одновременно то есть будет одновременно записываться несколько тв программ
и в разное время нужно прекратить запись какой то конкретной программы но что бы другая продолжала работать
Такое можно сделать сохряняя пиды процессов vlc в разных файлах c именами каналов.
Например:
#!/bin/bash
cvlc -vvv http://iptv.com/playlist.m3u8 --sout file/home/iptv/ts:boks.ts &
sleep 1
echo $! > /pids_files_dir/channel_name

pids_files_dir - папка с файлами пидов процессов vlc
channel_name - имя тв программы

Убить процесс vlc для тв программы:
kill $(cat /pids_files_dir/channel_name)
Или же можно парсить вывод ps процессов vlc, и их опции.
« Последнее редактирование: 12 Февраля 2017, 21:53:03 от renzrv »

Оффлайн xupypr

  • Автор темы
  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
Re: Запись iptv по расписанию
« Ответ #5 : 13 Марта 2017, 08:40:47 »
kill $(cat /pids_files_dir/channel_name)

kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]

Как правильно прописать удаление?

Оффлайн ReNzRv

  • Старожил
  • *
  • Сообщений: 2648
    • Просмотр профиля
Re: Запись iptv по расписанию
« Ответ #6 : 14 Марта 2017, 18:22:55 »
xupypr,
Можно обойтись вообще без скриптов и файлов:
Запуск процесса в фон:
cvlc -vvv http://iptv.com/playlist.m3u8 --sout file/home/iptv/ts:boks.ts &
Убить процесс cvlc с опцией --sout и ее аргументом "file/home/iptv/ts:boks.ts":
kill $(ps -C cvlc -o pid,command | grep '--sout file/home/iptv/ts:boks.ts' | awk '{print $1}')

Оффлайн peregrine

  • FSM
  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 7203
  • Gentoo x64 Ubuntu 16.04.1 x64
    • Просмотр профиля
Re: Запись iptv по расписанию
« Ответ #7 : 14 Марта 2017, 18:24:36 »
Peter_I, лучше не через ``, а через $(). Не стоит учить людей плохим привычкам. Я потом долго отвыкал.

Оффлайн Peter_I

  • Старожил
  • *
  • Сообщений: 3037
    • Просмотр профиля
Re: Запись iptv по расписанию
« Ответ #8 : 14 Марта 2017, 20:49:15 »
Peter_I, лучше не через ``, а через $(). Не стоит учить людей плохим привычкам. Я потом долго отвыкал.
Если выражения простое, с одной парой ``, то проще так, а в сложных уже по необходимости надо через $().
Но я избегаю сложных конструкций.
Пётр.

 

Страница сгенерирована за 0.073 секунд. Запросов: 25.