【发布时间】:2016-11-23 22:47:44
【问题描述】:
我设置了一个简单的 init.d 脚本“S3logrotate”在关机时运行。从命令行手动运行时,“S3logrotate”脚本工作正常,但脚本在关闭时无法正常运行。
该脚本将日志从我的 PC 上传到 Amazon S3 存储桶,并且需要 wifi 才能正常运行。
调试证明脚本实际运行但上传失败。
我发现问题似乎是wifi终止后脚本似乎在运行。
这些是我在脚本中用来测试我的互联网连接的块。
if ping -q -c 1 -W 1 8.8.8.8 >/dev/null; then
echo "IPv4 is up" >> *x.txt*
else
echo "IPv4 is down" >> *x.txt*
fi
if ping -q -c 1 -W 1 google.com >/dev/null; then
echo "The network is up" >> *x.txt*
else
echo "The network is down" >> *x.txt*
fi
这个块的输出是:
IPv4 is down
The network is down
有没有办法设置 init.d 脚本的优先级?如在,我可以让我的脚本在网络连接终止之前运行吗?如果没有,是否有任何替代 init.d 的方法?
我使用 Ubuntu 16.04 并使用 Windows 10 进行双重引导(如果这很重要的话)。
谢谢,
sganesan7
【问题讨论】:
-
这个问题与 StackOverflow 定义的编程无关。它可能在 S.E. 上更合适。相关网站 askubuntu.com 或 superuser.com 。使用 Q 底部的
flag链接并要求版主移动它。请不要在 2 个不同的网站上发布相同的 Q。请先阅读stackoverflow.com/help/how-to-askstackoverflow.com/help/dont-ask 和stackoverflow.com/help/mcve,然后再在这里发布更多问题。祝你好运。 -
/etc/rc6.d中的链接应该有一个像K01这样的数字前缀。脚本按数字顺序运行,因此您应该给它一个比终止网络连接的脚本小的数字。
标签: linux bash amazon-s3 init.d