Скрипт в init.d не выполняется - PullRequest
0 голосов
/ 14 февраля 2019

Я пытаюсь отправить уведомление Slack об IP-адресе сервера при запуске.Я использую Ubuntu 18.04.Скрипт отлично работает при запуске из командной строки (создает файл журнала и отправляет сообщение Slack).Он установлен на /etc/init.d/iptoslack.sh, и я установил chmod 755 и запустил

sudo update-rc.d iptoslack.sh defaults

и добавил задержку в скрипт, чтобы интернет-соединение успело установить.Тем не менее, даже файл журнала не создается при загрузке.Скрипты в init.d также не должны требовать входа, верно?Может ли это быть проблема с правами доступа (не запускаются ли init.d сценарии от имени root?)

/etc/init.d/iptoslack.sh:

#!/bin/bash

script()
{
  ifconfig > /home/myname/startlog.log
  sleep 30 # wait a moment to give the internet connection time to establish
  ip="$(ifconfig | sed -n 2p)"
  text="Intra server rebooted, ifconfig returned $ip"
  curl -X POST -H 'Content-type: application/json' --data "{'text':'$text'}" 'https://hooks.slack.com/services/asdf/qwer/fghj' >> /home/myname/startlog.log
}

script &
...