我有一个脚本,它使用 ssh、pk auth 检查我的主 rpi2 中的文件,如果文件存在,它会将其删除(再次 ssh pk auth)并使用以下命令打开反向 ssh:
ssh -fN -R xxxx:localhost:22 [email protected]
当从命令行运行脚本时,它运行良好,我得到了反向 shell。
从 systemd-cron 运行时,我无法启动该进程!检查ps -efwww|grep "ssh -f"|grep -v grep
crontab 很简单:
*/1 * * * * /home/me/my_r_ssh_script.sh
我确认:
- 在安装了 systemd-cron 的 arch arm 和 arch x86 上都会发生这种情况。
- 在安装了 crontab 的 ubuntu 上不会发生这种情况。
顺便说一句,我已经验证了脚本按照使用“me”的方式运行,而且确实如此,我确信它使用了正确的键,我也尝试使用-vvv记录g,我看到的是,与命令行不同,当我从cron运行时,远程似乎没有响应,或者也许由于某种原因答案没有到达客户端,不确定为什么。
任何帮助\提示都将不胜感激!
答案1
systemd-cron不是官方的 systemd 软件包。它似乎没有提供任何执行的 systemd 单元的详细配置,因此我建议您自己配置计时器,例如https://wiki.archlinux.org/index.php/Systemd/Timers#As_a_cron_replacement。
然后您可以使用以下选项:杀戮模式,类型、退出后剩余时间、PIDFile,..以防止该进程被终止。