Ssh

如何在重新啟動時執行 shscript

  • December 5, 2019

我正在嘗試在重新啟動時執行一個腳本,以將埠轉發到遠端伺服器。如果我在終端中執行它,我製作了我的腳本。但我無法在 crontab 重啟時執行它:

@reboot sleep 120000 && sh /home/user/doit.sh

我在哪裡可以看到 crontab 的錯誤日誌?我在 crontab 中有另一個腳本,它重新啟動命令並且它可以工作。這個沒有。該腳本呼叫 SSH 來建立隧道。謝謝你。

由於您有基於systemd的系統,您可能會考慮添加一個.service文件,例如/etc/systemd/system/ssh-tunnel.service具有以下內容:

[Unit]
Description=SSH tunnel
After=network.target

[Service]
Type=forking
ExecStart=/home/user/doit.sh

[Install]
WantedBy=multi-user.target

Type=simple如果您的腳本沒有分叉,您可以將單元類型更改為。之後你只需要重新載入systemd,啟用該單元並嘗試啟動它:

systemctl daemon-reload
systemctl enable ssh-tunnel.service
systemctl start ssh-tunnel.service

如果一切正常,一旦網路準備好,隧道就會建立起來。

引用自:https://serverfault.com/questions/994444