gpt4 book ai didi

linux - 从 cron 启动 pppd 不起作用

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:02:55 26 4
gpt4 key购买 nike

我想在它断开连接时启动 pppd。我正在尝试将 shell 脚本设置为每 1 分钟运行一次,以查看它是否已关闭并重新连接。

我有一个名为 vpn-check.sh 的 bash 脚本:

ping -c3 10.8.3.0 > pingreport
result=`grep "0 received" pingreport`
truncresult="`echo "$result" | sed 's/^\(.................................\).*$/\1/'`"
if [[ $truncresult == "3 packets transmitted, 0 received" ]]; then
pon VPNname
fi

当我直接从 cli 运行这个脚本时,它可以工作并启动 ppp 但当我通过 cronjob(对于 root 用户)运行相同的脚本时,它不起作用。

我尝试了下面的方法,但没有成功

*/1 * * * * bash /root/vpn-check.sh > /root/cronlog.txt 2>&1

我尝试了下面的方法,但没有成功

*/1 * * * * /root/vpn-check.sh > /root/cronlog.txt 2>&1

最后,我尝试了:

*/1 * * * * /usr/sbin/pppd call VPNname> /root/cronlog.txt 2>&1

不知道哪里出了问题。

最佳答案

我仍然不明白为什么当根据日志以正确的用户身份调用 cron 时,某些脚本可以工作而不能工作。

我找到的唯一解决方案是运行:

crontab -e

并将以下行添加到顶部(即使我通过完整路径调用 pppd 守护进程):

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

关于linux - 从 cron 启动 pppd 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17859410/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com