我正在尝试在重启时运行一个脚本,该脚本可启用到远程服务器的端口转发。我编写了一个脚本,如果我在终端中运行它,它就会运行。但我无法在 crontab 重启时运行它:
@reboot sleep 120000 && sh /home/user/doit.sh
我可以在哪里看到 crontab 的错误日志?我在 crontab 中还有另一个脚本,它可以重新启动命令,并且可以正常工作。这个不行。该脚本调用 SSH 来建立隧道。谢谢。
答案1
既然你已经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
如果一切正常,网络准备就绪后就会建立隧道。