-1

我想为我的树莓派制作一个关闭脚本,以通过 ssh 关闭另一个树莓派。

如果脚本自己运行但在关机例程中不执行 ssh 命令,则该脚本可以工作。

所以我到目前为止所做的:

  1. 在 /etc/init.d 中制作脚本:
 #!/bin/sh
 # the first thing is to test if the shutdown script is working
 echo "bla bla bla " | sudo tee -a /test.txt  
 ssh pi@10.0.0.98 sudo shutdown -h now
  1. 使其可执行
sudo chmod +x /etc/init.d/raspi.sh
  1. 对 rc0.d 进行了符号链接
sudo ln -s /etc/init.d/raspi.sh /etc/rc0.d/S01raspi.sh

现在我知道到目前为止,关闭脚本通过调用自身在关闭路由之外工作,并且我制作的关闭符号链接也部分工作,因为我每次关闭时都会看到 test.txt 文件中的更改。

谁能帮我解决我的问题?

4

3 回答 3

1

你试过用单引号吗?谷歌的第一个链接有

http://malcontentcomics.com/systemsboy/2006/07/send-remote-commands-via-ssh.html

那sudo呢,怎么解决输入密码的?

https://superuser.com/questions/117870/ssh-execute-sudo-command

请检查此链接或网络上包含有用信息的其他链接。

我会在评论中发送所有这些,但由于声誉原因我还不能。

于 2016-02-07T22:12:18.027 回答
0

我构建了一个命令来通过 ssh 挂起或关闭远程主机。您可能会发现这很有用。这可用于在没有交互式会话的情况下挂起/关闭远程计算机,但不会使终端保持忙碌。您将需要授予远程用户在sudo没有密码的情况下关闭/暂停使用的权限。此外,本地和远程计算机应设置为 SSH,无需交互式登录。该脚本对于挂起机器更有用,因为挂起的机器不会断开终端。

local_user@hostname:~$ ssh remote_user@remote_host "screen -d -m sudo pm-suspend"

来源:कार्यशाला (Kāryaśālā)

于 2017-10-06T18:07:17.913 回答
0

我现在已经让脚本自己运行了。我真的不知道为什么它现在可以工作,但我把它写在下面,也许其他人可以清除它。

我不认为我系统的前两个更改会有所不同,但我也将其写下来。同时,因为我没有管理脚本来开始工作,所以我做了一个按钮来手动关闭系统。我还制作了一个脚本来备份 mysql-database(它在 Raspberry Pi 上,我想用脚本关闭它)并将备份复制到树莓派,它应该通过关机自动切换另一个树莓派 -脚本。scp 会发生这种情况,并且密码也是生成的密钥。

我还更改了脚本以从脚本中获取日志消息。

#!/bin/sh
ssh -t -t pi@10.0.0.99 'sudo shutdown -h now' >> /home/osmc/shutdown.log 2>&1

为了让它进入我使用的关机例程:

sudo update-rc.d raspi-b stop 01 0

我希望有人能告诉我为什么我的代码现在可以在第一天工作,但直到现在才在接下来的几天工作。

于 2016-02-10T19:21:47.570 回答