サーバーAで、sshを介してサーバーBに次のコマンドを発行します。
service network stop
sleep 5
service network start
問題は、ネットワークを「停止」したため、現在のSSH接続も失われたためです。そのため、後続のコマンドを実行できません(sleep 5とservice network start)。(サービスネットワーク再起動)は使用できませんのでご注意ください。
誰かがこれの回避策/解決策を持っていますか?
サーバーAで、sshを介してサーバーBに次のコマンドを発行します。
service network stop
sleep 5
service network start
問題は、ネットワークを「停止」したため、現在のSSH接続も失われたためです。そのため、後続のコマンドを実行できません(sleep 5とservice network start)。(サービスネットワーク再起動)は使用できませんのでご注意ください。
誰かがこれの回避策/解決策を持っていますか?
回答:
これをインタラクティブに行う場合は、screen
セッションを開始してみませんか?次のようになります。
screen
(スクレンシェルが起動します)
service network restart
(SSHセッションは切断されますが、ネットワークの再起動はスクリーンセッションで続行されます)
(数秒待ってください)
(再起動が完了すると、SSHがホストに戻ります)
screen -r
(画面に再接続し、エラーを確認します)
私見、ネットワークインターフェースをリモートで再起動することは常に怖いです。復旧しない場合はどうなりますか?何か悪いことが起こった場合、ホストにコンソールまたは他の手段がありますか?
screen
リモートマシンで作業するときは、常に操作します。予期しない切断の場合、それは命の恩人になることができます。また、同じセッションでいくつかのアクティブなシェルを使用すると便利です。また、あなたも見てみたいかもしれませんtmux
が、私はそれを自分で使用しませんでしたが、一部の人はそれを好みscreen
、そのコア機能は同じ利点を提供します。
Failed to restart network.service: Unit network.service failed to load: No such file or directory.
これは機能します:serverfault.com/a/731120/10361
systemctl restart networking
tmux
Ubuntu Xenial でのセッション中、何らかの理由で動作しませんでした。systemctl restart network
CentOS 7(OpenVZ)でもtmux
/ screen
セッションでは動作しませんでした。接続を失うことなく。
これを行うために使用できる正確なコマンドは、Linuxディストリビューションによって異なります。かなり標準的なオプションは、ネットワークを再起動するために、将来5秒間ジョブをスケジュールして「アット」することです。もう1つは、nohup
コマンドを使用することです。
echo "sleep 5; /etc/init.d/networking start" | at now
nohup sh -c 'sleep 5; /etc/init.d/networking start' &
他のディストリビューションには、結果のプログラムをシェルに関連付けられていないデーモンに変えるデーモンコマンドがあります。
これを行う非常に簡単な方法は、and演算子を使用することです。
service network stop && sleep 5 && service network start
service network restart
ですか?
service network stop
、インターフェイスがダウンし、bash
受信されSIGHUP
、他のコマンドは実行されません。何か不足していますか?
それをシェルスクリプトに入れて、SSH経由で実行してみませんか?
これを試してください(必要に応じて、おそらくcronをインストールします)。
$ at now+5min
at> service network stop
at> sleep 5
at> service network start
at> [control-D]
次にログアウトし、6分待ってから再ログインします
at
スケジューラは、ほとんどのディストリビューション上のcronパッケージではありませんが、探してみてくださいat
直接パッケージ。
#!/bin/sh
# CentOS Linux release 7.4.1708 (Core)
# 1. restart the network service
# 2. take the NIC [ens32] down
# 3. bring the NIC [ens32] up
systemctl restart network \
&& ifdown ens32 \
&& ifup ens32
#!/bin/sh
# Linux far-seer-01 4.9.0-8-amd64 #1 SMP Debian 4.9.144-3.1 (2019-02-19) x86_64 GNU/Linux
/etc/init.d/networking restart \
&& ifdown eth0 \
&& ifup eth0
例えば
[root@localhost tmp]# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:b3:74:da brd ff:ff:ff:ff:ff:ff
inet 192.168.224.129/24 brd 192.168.224.255 scope global dynamic ens32
valid_lft 1796sec preferred_lft 1796sec
inet6 fe80::f06e:8b57:23fc:b25/64 scope link
valid_lft forever preferred_lft forever
[root@localhost tmp]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
[root@localhost tmp]# cat net.sh
#!/bin/sh
# 1. restart the network service
# 2. take the NIC [ens32] down
# 3. bring the NIC [ens32] up
systemctl restart network \
&& ifdown ens32 \
&& ifup ens32
[root@localhost tmp]# sh net.sh
Device 'ens32' successfully disconnected.
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/17)
$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
NAME="Debian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
$ cat net.sh
#!/bin/sh
# Linux far-seer-01 4.9.0-8-amd64 #1 SMP Debian 4.9.144-3.1 (2019-02-19) x86_64 GNU/Linux
/etc/init.d/networking restart \
&&ifdown eth0 \
&& ifup eth0
$ sh net.sh
[ ok ] Restarting networking (via systemctl): networking.service.
ifdown: interface eth0 not configured
Internet Systems Consortium DHCP Client 4.3.5
Copyright 2004-2016 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Listening on LPF/eth0/00:0c:29:8a:67:72
Sending on LPF/eth0/00:0c:29:8a:67:72
Sending on Socket/fallback
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 5
DHCPREQUEST of 192.168.224.128 on eth0 to 255.255.255.255 port 67
DHCPOFFER of 192.168.224.128 from 192.168.224.254
DHCPACK of 192.168.224.128 from 192.168.224.254
bound to 192.168.224.128 -- renewal in 847 seconds.