এসএসএইচের মাধ্যমে নেটওয়ার্ক পুনরায় চালু করা হচ্ছে


11

সার্ভার এ-তে, আমি নিম্নলিখিত কমান্ডগুলি ssh এর মাধ্যমে সার্ভার বি-তে জারি করতে চাই।

service network stop
sleep 5
service network start

সমস্যাটি কারণ আমি একটি নেটওয়ার্ক 'স্টপ' জারি করেছি, তারপরে আমার বর্তমান এসএসএস সংযোগটিও হারিয়ে গেছে। অতএব আমি উত্তরোত্তর কমান্ডগুলি কার্যকর করতে পারি না (ঘুম 5 এবং পরিষেবা নেটওয়ার্ক শুরু)। মনে রাখবেন যে আমি (পরিষেবা নেটওয়ার্ক পুনরায় চালু) ব্যবহার করতে পারি না।

কারও কি এর জন্য কোনও সমাধান / সমাধান আছে?


5
আপনি কেবল "পুনঃসূচনা" বিকল্পটি ব্যবহার করবেন না কেন? কেন পৃথকভাবে বন্ধ, এবং তারপর শুরু?
স্পেসম্যানস্পিফ

এটিই একমাত্র সমাধান যা আধুনিক ডেবিয়ান এবং উবুন্টু সংস্করণগুলির সাথে কাজ করে: সার্ভারসফল্ট / এ / 1173১০২০/১০৩৩61১ বিগত বছরগুলিতে উভয় ডিস্ট্রোজে পরিষেবা পদ্ধতির "ত্রুটিপূর্ণ" হয়ে ওঠে।
sorin

উত্তর:


8

আপনি যদি ইন্টারেক্টিভভাবে এটি করে থাকেন তবে কেন একটি screenসেশন শুরু করবেন না ? এটি দেখতে এমন কিছু লাগবে:

screen

(স্ক্রিন শেল শুরু হয়)

service network restart

(এসএসএইচ অধিবেশনটি সংযোগ বিচ্ছিন্ন হয়ে যায়, তবে স্ক্রিন অধিবেশনটিতে নেটওয়ার্ক পুনঃসূচনাটি অব্যাহত থাকে)

(কয়েক সেকেন্ড অপেক্ষা করুন)

(এসএসএইচ পুনরায় চালু হওয়ার পরে হোস্টে ফিরে আসবে)

screen -r

(স্ক্রিনের সাথে সংযোগ স্থাপন করুন এবং ত্রুটিগুলি পরীক্ষা করুন)

আইএমএইচও, কোনও নেটওয়ার্ক ইন্টারফেস দূরবর্তীভাবে পুনরায় চালু করা সবসময় ভীতিজনক। আবার ফিরে না আসলে কী ঘটে? আপনার যদি কোনও খারাপ কিছু ঘটে থাকে তবে হোস্টে কোনও কনসোল বা অন্য উপায় রয়েছে?


1
screenদূরবর্তী মেশিনে কাজ করার সময় আমি সর্বদা পরিচালনা করি । অপরিকল্পিত সংযোগ বিচ্ছিন্নতার ক্ষেত্রে এটি জীবনরক্ষক হতে পারে। এছাড়াও একই অধিবেশনটিতে বেশ কয়েকটি সক্রিয় শেল রাখা সহজ হতে পারে। আপনি এটিও দেখতে পছন্দ করতে পারেন tmux, আমি নিজে এটি ব্যবহার করি নি তবে কিছু এটি পছন্দ করে screenএবং এর মূল ফাংশন একই সুবিধা দেয়।
ডেভিড স্পিললেট

পুরানো: এটি আর কাজ করে না: Failed to restart network.service: Unit network.service failed to load: No such file or directory.এটি কাজ করে: serverfault.com/a/731120/10361
sorin

@ সোরিন কোন প্ল্যাটফর্ম? এটি একটি রেডহ্যাট বৈকল্পিক ধরে নিচ্ছিল।
কোরি এস

systemctl restart networkingtmuxউবুন্টু জেনিয়ালের অধিবেশনে কোনও কারণে আমার পক্ষে কাজ করেনি । systemctl restart networkCentOS 7 (ওপেনভিজেড) এ এমনকি tmux/ screenসেশনেও কাজ করেনি । সংযোগ হারানো ছাড়া।
x-yuri

5

এটি করার জন্য উপলব্ধ সঠিক আদেশগুলি লিনাক্স বিতরণের উপর ভিত্তি করে পরিবর্তিত হয়। অপশনটিতে যা বেশ মানক তা হল শিডিয়ুল করা এবং ভবিষ্যতে 5 সেকেন্ডের জন্য নেটওয়ার্ক পুনরায় আরম্ভ করার জন্য "এট" জব। আর একটি হ'ল nohupকমান্ডটি ব্যবহার করা ।

echo "sleep 5; /etc/init.d/networking start" | at now
nohup sh -c 'sleep 5; /etc/init.d/networking start' &

অন্যান্য বিতরণে ফলস্বরূপ প্রোগ্রামটি শেমের সাথে সম্পর্কিত না হয়ে ডেমনে রূপান্তর করার জন্য ডেমন কমান্ড থাকে।


2

এটি করার একটি খুব সহজ উপায় হ'ল অপারেটরটি ব্যবহার করে:

service network stop && sleep 5 && service network start

2
আমি পরিষেবা নেটওয়ার্ক স্টপ পছন্দ করব; ঘুম 5; পরিষেবা নেটওয়ার্ক শুরু। যদি কোনও কমান্ড ব্যর্থ হয় তবে তা অন্যভাবে কার্যকর করতে পারে।
ghm1014

@ ghm1014 আই, এটি খুব ভাল বিকল্প ফর্ম form আসলে, আমি সাধারণত এটি ব্যবহার করি।
জর্দান এস জোন্স

1
লাভ কী service network restart?
কালেব

আপনি যখন service network stopকরেন ইন্টারফেসটি ডাউন হয়ে যায়, bashগ্রহণ করে SIGHUPএবং অন্য কোনও কমান্ড কার্যকর হয় না। আমি কিছু অনুপস্থিত করছি?
x-yuri

1

কেন এটি শেল স্ক্রিপ্টে রেখে এসএসএইচ দিয়ে তা কার্যকর করবেন না?


যদি আমি এটি কোনও স্ক্রিপ্টে রাখি, তবে এটি ঘটবে: সার্ভার এ, ssh সার্ভার_বি "এক্সিকিউট_স্ক্রিপ্ট" " তবে আমি কী এখনও এ থেকে বি-তে আমার এসএসএস সংযোগটি হারাব না? আমি আশা করছি যে আমি এখনও এই এসএসএস সংযোগটি সংরক্ষণ করতে পারি ...
কারম্যান

1
আপনি যদি কোনও সার্ভারে নেটওয়ার্ক ইন্টারফেস বন্ধ করে থাকেন তবে আপনি SSH অধিবেশন সংরক্ষণ করতে পারবেন না।
ক্রিস্টোফার আর্মস্ট্রং

সুতরাং, দেখে মনে হচ্ছে এটি পুনরায় আরম্ভ করার স্ক্রিপ্টটি চালানোর সময় আমার ssh সেশনটি স্তব্ধ হয়ে যাবে। এটি কি জাল করার উপায় আছে? যেমন। বর্তমান ssh অধিবেশন বিরতি এবং এটি আবার সংযোগ?
কারমেন

1
হ্যাঁ, পর্দা, আজকের উত্তর দ্বারা উল্লিখিত।
এমফিনি

হ্যাঁ, এটি কাজ করবে না। "পরিষেবা নেটওয়ার্ক পুনঃসূচনা" আসলে একটি শেল স্ক্রিপ্ট কল করে তবে অভ্যন্তরীণভাবে এটি কেবল স্টপ চালায় তারপর শুরু করে। স্টেশনের পরে স্টেশ সেশনটি কেটে যায় এবং শুরুটি কখনই ঘটে না। স্ক্রিন বা নোহুপ এর উত্তর। দ্রষ্টব্য, আমি এটি স্ক্রিনের মাধ্যমে করেছি এবং এটি আসলে আমার জন্য বিদ্যমান ssh অধিবেশনটি সংরক্ষণ করেছে (কেবলমাত্র কিছুটা পিছিয়ে) তবে এটি পর্দা ছাড়াই হবে না। ডেঞ্জার উইল রবিনসন: রিমোট সিস্টেমে সম্পূর্ণরূপে অ্যাক্সেস আলগা করার এটি একটি ভাল উপায় (যদি আপনি সংযোগটি looseিলে করেন তবে কোনও ডিবাগিং হয় না, আপনি কেবল হজড)।
জ্যারেড

1

এটি চেষ্টা করুন (সম্ভবত প্রয়োজনে ক্রোন ইনস্টল করা):

$ at now+5min
at> service network stop
at> sleep 5
at> service network start
at> [control-D]

তারপরে লগআউট করুন, 6 মিনিট অপেক্ষা করুন এবং পুনরায় চালু করুন


1
atনির্ধারণকারী সবচেয়ে ডিস্ট্রো উপর ক্রন প্যাকেজের মধ্যে না থাকে, সেক্ষেত্রে খোঁজার চেষ্টা করুন atপ্যাকেজ সরাসরি।
কালেব

1

এটি আধুনিক দেবিয়ান এবং উবুন্টুর সাথে কাজ করে, অন্য সমস্ত উত্তরগুলি কাজ করবে না।

screen
sudo ifdown --exclude=lo -a && sudo ifup --exclude=lo -a

দয়া করে মনে রাখবেন ইন্টারফেসটি ফিরে পেতে কিছুটা সময় নিতে পারে। আমার ক্ষেত্রে প্রায় ~ 15 সেকেন্ডের মতো আমার একটি বন্ড রয়েছে।


0

মনে হচ্ছে আপনি পর্দা বা tmux হয় চান । এগুলি আপনাকে একটি নেটওয়ার্ক সংযোগ হারাতে পারার মাধ্যমে আপনার সেশনটি সংরক্ষণ করার অনুমতি দেবে। এগুলি সত্যিই বেশ কার্যকর, আমার প্রায় সব টার্মিনাল সেশনগুলি স্ক্রিনের মাধ্যমে।


0
#!/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.
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.