我已经查看了 SOF 上的所有答案,但没有看到什么可行。
我的目标:
让 EC2 QA 服务器在上次使用后 55 分钟自行停止
我的策略:
每次使用远程机器时,首先检查它是否正在运行。如果是,请执行以下操作:
- ssh 进入机器
- run 'sudo shutdown -c' #clears last pending shutdown
- 运行 'sudo shutdown -h +55' #restarts timer for 55 分钟关机
- 出口
去做我剧本的事
什么有效:
所有命令都在 1 和 2 本地工作。数字 3 和 4 是部分的,如下所述。
什么不起作用:
调用新的关闭停止的行,它等待 ssh 连接关闭,对于末尾没有“&”的命令版本永远不会这样做。
我试过的:
echo "nohup sudo shutdown -h +55; 退出" | ssh -i $HOME/.ec2/cert_name root_user_name@ipad.dress
echo "nohup sudo shutdown -h +55& 退出" | ssh -i $HOME/.ec2/cert_name root_user_name@ipad.dress
echo "sudo 关机 -h +55& 退出" | ssh -i $HOME/.ec2/cert_name root_user_name@ipad.dress
ssh -i $HOME/.ec2/cert_name root_user_name@ipad.dress nohup sudo shutdown -h +55
ssh -i $HOME/.ec2/cert_name root_user_name@ipad.dress nohup sudo shutdown -h +55; 出口
什么样的作品:
ssh -i $HOME/.ec2/cert_name root_user_name@ipad.dress nohup sudo shutdown -h +55&
ssh -i $HOME/.ec2/cert_name root_user_name@ipad.dress sudo shutdown -h +55&
什么是“排序”:
部分成功的命令设置关闭,退出 ssh 就好了。但是他们用远程屏幕上的最后一个命令结果填充本地屏幕缓冲区。这与脚本中下一个命令的结果一起出现。
我想我可以连续两次发出“回显“刷新缓冲区”并清除它。
那里有更完整和更清洁的东西吗?
TIA