我有一个脚本可以
- 杀死所有 sshd 进程
- 启动一个新的 sshd 进程
我想将此脚本 scp 到远程计算机上并使用 ssh 执行它。执行完第一步杀掉所有sshd后,还会进入第二步再次运行sshd吗?我很担心,因为我正在使用 ssh 运行脚本,而 ssh 在第 1 步之后会死掉。
正常的程序是停止主 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
分钟 小时 天 月 dayofweek 命令
不要忘记将其关闭;)