【发布时间】:2013-02-06 08:51:48
【问题描述】:
我有一个脚本可以
- 杀死所有 sshd 进程
- 启动一个新的 sshd 进程
我想将此脚本 scp 到远程计算机上并使用 ssh 执行它。执行完第一步杀掉所有sshd后,还会进入第二步再次运行sshd吗?我很担心,因为我正在使用 ssh 运行脚本,而在第 1 步之后 ssh 会死掉。
【问题讨论】:
我有一个脚本可以
我想将此脚本 scp 到远程计算机上并使用 ssh 执行它。执行完第一步杀掉所有sshd后,还会进入第二步再次运行sshd吗?我很担心,因为我正在使用 ssh 运行脚本,而在第 1 步之后 ssh 会死掉。
【问题讨论】:
正常的程序是停止主 sshd,例如/etc/init.d/sshd stop 或您的发行版的等价物。这样,在现有连接继续进行的同时,监听守护程序会关闭,直到客户端断开连接。
如果您想升级/替换 sshd,更改任何设置并重新启动它,这就是要走的路。
【讨论】:
不需要scp它到服务器,只需尝试这样做:
while read cmd; do ssh server "bash -c $cmd"; done < script.sh
【讨论】:
为什么不使用 cron 呢? 例如:
10 * * * * /path_to_script
分钟小时日月日命令
别忘了关掉它;)
【讨论】: