Как перезапустить службу после отправки страницы openwrt?

Я пытаюсь написать страницу в openwrt, которая изменяет конфигурацию написанного мной приложения, а затем перезапускает службу. На данный момент я использую простую «службу», которая записывает в журнал, чтобы увидеть, что, когда я нажимаю «сохранить и применить» на странице, она записывает время в этот текстовый файл. Тем не менее, я думаю, что что-то упускаю. Я добавил раздел в /etc/config/ucitrack, подобный этому

config app option init gps

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

#!/bin/sh /etc/rc.common
START=10
start() {
  echo Start
  echo 'date' > ~/test.txt
}
stop(){
  echo Stop
}
reload_service() {
  echo "Restarting"
  stop
  start
}

Страница, которую я написал (используя cbi), уже считывает файл конфигурации и затем применяет изменения. Я предполагаю, что это также вызовет часть инициализации /etc/config/ucitrack, но я могу ошибаться. Что мне здесь не хватает?


person user2850818    schedule 12.06.2018    source источник


Ответы (1)


Так что получается я все правильно делал, кроме пути к файлу. Я не должен был использовать домашний ярлык «~», так как я полагаю, что вы не можете быть уверены, от имени какого пользователя система будет запускать сценарий. Когда я изменил путь на полный "/root/test.txt", он работает нормально.

person user2850818    schedule 13.06.2018