Linux - 使用SSH的shutdown-script

时间:2016-02-07 22:03:45

标签: linux ssh raspbian kodi

我想为我的覆盆子pi制作一个关闭脚本来关闭ssh上的覆盆子pi。

如果脚本正在运行,则该脚本可以正常运行,但在关闭例程中,不会执行ssh命令。

所以我到现在为止做了:

  1. 在/etc/init.d中创建脚本:
  2.  #!/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. 使其可执行
    2. sudo chmod +x /etc/init.d/raspi.sh
      
      1. 为rc0.d
      2. 制作符号链接
        sudo ln -s /etc/init.d/raspi.sh /etc/rc0.d/S01raspi.sh
        

        现在我知道,关闭脚本在关闭路由之外通过调用自身来工作,而我所做的关闭符号链接也部分工作,因为我每次关闭时都会看到test.txt文件中的更改。 / p>

        任何人都可以帮我解决问题吗?

3 个答案:

答案 0 :(得分:1)

你试过单引号吗? 谷歌的第一个链接就是它

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

sudo怎么样,你怎么解决输入密码的问题?

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

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

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

答案 1 :(得分:0)

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

我不认为我系统的前两个变化会产生影响,但我也会把它写下来。同时因为我没有管理脚本才能工作,所以我按下了一个按钮来手动关闭系统。我还制作了一个脚本,它支持mysql-database(在Raspberry Pi上,我想用脚本关闭)并将备份复制到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

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

答案 2 :(得分:0)

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

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

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