Skip to content
  • Категории
  • Главная
  • Документация
  • Последние
  • Пользователи
Collapse
  1. Главная
  2. Raspberry Pi
  3. Запуск скрипта

Запуск скрипта

Запланировано Прикреплена Закрыта Перенесена Raspberry Pi
5 Сообщения 2 Posters 89 Просмотры
  • Сначала старые
  • Сначала новые
  • По количеству голосов
Авторизуйтесь, чтобы ответить
Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
  • D Не в сети
    D Не в сети
    djbond07
    написал в отредактировано
    #1

    Добрый день! Все мы знаем, что на RasPi нет часов реального времени, и синхронизация времени происходит по интернету. Так вот, нужно сделать так, чтобы запускался скрипт после того, как произойдёт эта синхронизация. Кто-нибудь сталкивался с такой необходимостью? Как это сделать? куда копать? 😃

    1 ответ Последний ответ
    0
    • piP Не в сети
      piP Не в сети
      pi
      написал в отредактировано
      #2

      Ну, например, здесь есть информация о синхронизации. Сформулируйте свой вопрос более понятно.

      1 ответ Последний ответ
      0
      • piP Не в сети
        piP Не в сети
        pi
        написал в отредактировано pi
        #3

        djbond07 (2016-06-17 17:49:48):Добрый день! Все мы знаем, что на RasPi нет часов реального времени, и синхронизация времени происходит по интернету. Так вот, >нужно сделать так, чтобы запускался скрипт после того, как произойдёт эта синхронизация. Кто-нибудь сталкивался с такой необходимостью? Как это сделать? куда копать? 😃

        Существует несколько вариантов как запустить программы при автостарте в Raspbian:

        • Init-Script автостарт
        • автостарт с rc.local
        • LXDE автостарт
        • автостарт с .desktop файлом
        • Cronjob для автостарт

        Эти способы порой отличаются не только тем, как там запускаются программы, но ещё и когда…

        Поищите по этим ключевым словам.

        1 ответ Последний ответ
        0
        • piP Не в сети
          piP Не в сети
          pi
          написал в отредактировано
          #4

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

          Или, если задание на синхронизацию записано в cron, изменить это задание таким образом, чтобы вызывался скрипт который сначала вызывает ntpd для синхронизации а потом вызывает твой скрипт. В этом случае твой скрипт будет вызываться сразу после синхронизации.

          Все это выглядит довольно костыльно, но я не знаю способов привязать запуск скрипта к событию синхронизации времени.

          1 ответ Последний ответ
          0
          • piP Не в сети
            piP Не в сети
            pi
            написал в отредактировано pi
            #5

            Добрый день! В общем покопался во всём этом, решил проблему. По идее должно всё работать и без танцев с бубном, потому что в моих скриптах уже есть строчка вначале:

            RQUIRED START: $remote_fs $network $time
            

            И именно $time отвечает за то, что синхронизация времени прошла успешно, возвращает 1 и всё, поехали скрипты мои. Но по каким-то причинам в моей системе этого не происходило. Что-то мешает, не могу понять что.
            Решил проблему так. В само тело скрипта перед непосредственным запуском демона вставил код

            until ntpq -np | grep -q ‘^\*’;
            do
            echo «NTP not ready… wait»
            sleep 30
            done
            

            Соответственно мы ждём, пока у нас служба ntp вернёт сообщение о успешной синхронизации, и после этого идём в основное тело моего демона. Очень коряво, нужно вместо * написать фрагмент сообщения, чтобы исключить вероятность запуска службы после сообщения о какой-нибудь ошибке. Но всё же работает, пока так.
            Всем спасибо!

            1 ответ Последний ответ
            0

            • Войти

            • Нет учётной записи? Зарегистрироваться

            • Login or register to search.
            • Первое сообщение
              Последнее сообщение
            0
            • Категории
            • Главная
            • Документация
            • Последние
            • Пользователи