Cron
ifconfig up 不會從 cron 執行
我正在嘗試將Scott Lowe 的創建命名空間指南與關於在兩個介面之間轉發流量的答案結合起來。
我使用 cron @reboot 指令在每次重新啟動時執行這個腳本:(我正在使用該腳本,因為這些命令似乎都不會在重新啟動後持續存在。)
# Setup VPN ip netns add vpnspace ip link add vpnopen type veth peer name vpnbind ip link set vpnopen netns vpnspace ip netns exec vpnspace ifconfig vpnopen 10.0.0.1/24 up
當我使用手動執行腳本時
sudo
,它執行得很好。但是,當腳本由 cron 執行時,第四行 ,ip netns exec vpnspace ifconfig vpnopen 10.0.0.1/24 up
不會執行。為什麼會這樣?我如何讓它執行?TL;DR:
ifconfig vpnopen 10.0.0.1/24 up
在命名空間內由 cron 呼叫時不執行=============
說明:
- 我的 cron 工作是
@reboot /home/ubuntu/startupscripts/rootscripts.sh
- 上面給出的程式碼是 shell 腳本的第一部分,稱為
- 通過“不執行”,我的意思是如果我
sudo ip netns exec vpnspace ifconfig
在終端中執行命令來檢查 IP 地址是否被調出,終端會返回一個空白輸出。我嘗試通過附加記錄輸出>>rootscripts.log
,但沒有記錄任何內容,也沒有返回錯誤消息。
cron 命令通常使用預設路徑執行。雖然 ip 通常位於 /bin 中,但 ifconfig 最常位於 /sbin 中。. . 所以嘗試將 /sbin/ifconfig 放在你的命令行中。