因此,我编写了一个简单的脚本,用于在服务器重新启动时在 slack 上发出警报。我做了什么:在 /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-clihttps://github.com/candrholdings/slack-cli
问题:
当我重新启动时,脚本根本没有运行,我尝试使用:
echo "Hey, I did run!" > /scr/info.txt
但它什么也没有返回。
两个可执行文件都有 shebang 和可执行权限。(我尝试赋予它们 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
答案1
这不能保证一定有效,但可以尝试使用以下方法创建一个 cron 任务:
crontab -e
然后在文件中输入
@reboot /scr/msg.sh "Server restarting...."
并且它应该在重启时运行。
免责声明:我从未亲自尝试过此操作,您的成功可能会有所不同。