Итак, я запрограммировал простой скрипт для оповещения о провисании при каждой перезагрузке сервера. Что я сделал: в /etc/rc6.d/R99reboot-slack: (я пробовал с R01reboot-slack)
#!/bin/sh
/scr/msg.sh "Server restarting...."
и в /scr/msg.sh у меня есть:
#!/bin/bash
MSG=$1
API="API_TOKEN_HERE"
USERNAME="USERNAME HERE"
IMAGE="SOME IMAGE HERE"
CHANNEL="SOME CHANNEL HERE"
slackcli -t $API -h $CHANNEL -m "$MSG" -u $USERNAME -i $IMAGE
Использование slack-cli из https://github.com/candrholdings/slack-cli
Проблема:
Когда я перезагружаюсь, скрипт не не запускается вообще, я пытался с:
echo "Hey, I did run!" > /scr/info.txt
Но это ничего не возвращает.
Оба исполняемых файла имеют шебанги и разрешения для исполняемых файлов. (Я попытался дать им 777, но это не сработало). Я также попытался изменить с / bin / sh на / bin / bash, изменить пользователя, поставить sudo ... Но ничего не работает ...
Запуск обоих сценариев напрямую, работает.
Это на Ubuntu Server 16.04. В соответствии с запросом, вывод:
ls -l /scr/msg.sh /etc/rc6.d/K99reboot-slack
-rwxr-xr-x 1 root root 119 Jun 18 19:02 /etc/rc6.d/K99reboot-slack
-rwxrwxrwx 1 root root 207 Jun 18 18:58 /scr/msg.sh
Это, как гарантируют, не будет работать, но попытается создаст задание крона с помощью
crontab -e
затем в файле, поместит
@reboot /scr/msg.sh "Server restarting...."
, и он должен работать на перезагрузке.
Правовая оговорка: Я лично никогда не пробовал это, и Ваш успех может варьироваться.