gpt4 book ai didi

linux - 如果没有 SSH 连接则运行脚本

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:39:25 24 4
gpt4 key购买 nike

我试图让脚本在启动时运行,但如果我通过 SSH 连接到我的 Raspberry Pi,则什么都不做。

到目前为止,我已经让 crontab 通过 @reboot sleep 30 && sudo bash ./checkssh.sh 和 './自动运行脚本 checkssh.sh checkssh.sh' 包含这个:

#!/bin/bash

if [ -n "$SSH_CLIENT" ] || [ -n "$SSH_TTY" ]; then
echo "SSH CONNECTED"
else
./autobackup.sh
fi

从 SSH 终端运行 checkssh.sh 会返回预期的“SSH CONNECTED”,并且当 SSH 未正确连接时,让它在重启时从 crontab 自动运行。但是,当它在启动时运行并且我一可用就通过 SSH 连接时,它仍然运行脚本。我不确定哪里出了问题。

我需要它自动运行,如果没有 SSH 连接运行 autobackup.sh ,但如果有 SSH 连接,则不运行任何东西。我用于 SSH 连接的设备可能不同,使用的网络也可能不同,因此依赖特定 IP 的脚本并不理想。

感谢您的帮助:)

最佳答案

这些环境变量(SSH_CLIENTSSH_TTY)仅在 SSH session 环境中设置。您不能从另一个流程检查它们并期望它们在这里实现您的目标。

相反,运行程序 finger。这是查看谁登录的标准方法。

关于linux - 如果没有 SSH 连接则运行脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44483401/

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