লিনাক্স পাওয়ারশেলের "একাধিক" রিমোটিংয়ের সমতুল্য


38

উইন্ডোজ প্রশাসনের কাছ থেকে এসে আমি লিনাক্সে (ডেবিয়ান) আরও গভীর খনন করতে চাই। আমার জ্বলন্ত প্রশ্নগুলির একটি যা আমি ওয়েবে অনুসন্ধানের উত্তর দিতে পারি না (এটি খুঁজে পেল না): আমি কীভাবে উইন্ডোজের জন্য পাওয়ারশেলের মতো তথাকথিত "এক থেকে বহু" রিমোটিং অর্জন করতে পারি?

এটি বেসিক ভাঙ্গার জন্য আমি বলব:

লিনাক্স সম্পর্কে আমার মতামত:

  • আমি একটি সার্ভারে ssh করতে পারি এবং আমার কমান্ডটি টাইপ করতে পারি
  • আমি ফলাফল পেতে। 10 সার্ভারের পরিবেশের জন্য আমাকে প্রত্যেকের জন্য কমান্ড প্রেরণে একটি (পার্ল / পাইথন?) স্ক্রিপ্ট লিখতে হবে?

উইন্ডোজ থেকে আমার অভিজ্ঞতা:

  1. আমি আমার কমান্ডটি টাইপ করি এবং "ইনভোক-কমান্ড" দিয়ে আমি এটি একযোগে কার্যকর করতে এবং ফলাফলটি ফিরে পেতে (আরও কাজ করার জন্য একটি বস্তু হিসাবে) একগুচ্ছ সার্ভারগুলিতে (সম্ভবত কোনও পাঠ্য ফাইল থেকে) পাঠাতে পারি।

  2. এমনকি আমি একাধিক সেশনও স্থাপন করতে পারি, সংযোগটি পটভূমিতে অনুষ্ঠিত হয় এবং এই সেশনগুলিতে নির্বাচিতভাবে কমান্ড প্রেরণ করতে পারি এবং আমার প্রয়োজন মতো রিমোট ইন এবং আউট পাঠানো হয়।

(আমি শেফ, পুতুল ইত্যাদির কথা শুনেছি এটি কি এমন কিছু?)


Update 2019:
অনেক চেষ্টা পরে - আমি আপনাকে পরামর্শ দিচ্ছি রেক্স (দেখুন নিচে এই মন্তব্যটি ) - সহজ সেটআপ (যদি আপনি অল্পমাত্র বিট জানেন এবং ব্যবহার (কার্যকরভাবে এটি শুধু SSH, অন্য কিছুই প্রয়োজন) Perl এটা আরও ভাল, কিন্তু এটা ঐচ্ছিক)
সঙ্গে রেক্স (ify ) আপনি অ্যাডহক কমান্ডটি করতে পারেন এবং এটিকে একটি সত্যিকারের কনফিগারেশন পরিচালনায় উন্নীত করতে পারেন (... অর্থ: এটি প্রথমে একটি মুখ্যমন্ত্রী, তবে অ্যাডহক কাজের জন্যও দুর্দান্ত) ওয়েবসাইটটি পুরানো হয়ে গেছে, তবে বর্তমানে (01/2019 হিসাবে) এটি সক্রিয় বিকাশে এবং আইআরসি-চ্যানেলও সক্রিয়।

উইন্ডোজের নতুন ওপেনশাসের সাথে আরও অনেক সম্ভাবনা রয়েছে

আপনি চেষ্টা করতে পারেন: rex -u user -p password -H 192.168.1.3 -e 'say run "hostname"'


সমান্তরাল এসএসএস
প্রশ্ন

মোবাএক্সটার্ম বহু ssh অধিবেশন জুড়ে "মাল্টি-এক্সিকিউশন" সমর্থন করে: মোব্যাক্সটার্ম.মোব্যাটেক.নেট / ফিচারস html (ডাউন স্ক্রোল)। এছাড়াও যদি আপনার প্রাথমিক ওয়ার্কস্টেশন পরিবেশটি উইন্ডোজ হয় তবে এটি লিনাক্স বাক্সগুলিতে এবং আরও অনেক কিছুর সাথে সংযোগ স্থাপনের জন্য একটি সুন্দর মিষ্টি সরঞ্জাম।
কেভ

: tmux সঙ্গে :setw synchronize-panes on( unix.stackexchange.com/a/124800/161003 )
এলি

উত্তর:


50

সারাংশ

  • উত্তরযোগ্য একটি ডিওওপ্স সরঞ্জাম যা পাওয়ারশেলের জন্য একটি শক্তিশালী প্রতিস্থাপন
  • গ্রাফিকাল ইন্টারফেস হিসাবে রানডেক সুবিধাজনক
  • কিছু লোক একসাথে রানডেক + উত্তর চালান

clusterssh

একাধিক সার্ভারে রিমোট কমান্ড প্রেরণের জন্য, একটি শিক্ষানবিস জন্য, আমি ক্লাস্টারশপের পরামর্শ দেব

দেবিয়ান এ ইনস্টল করতে clusterssh:

apt-get install clusterssh

আরেকটি ক্লাস্টারশপ টিউটোরিয়াল :

ক্লাস্টারএসএসএইচটি এক্স টার্ম এবং এসএসএইচের মতো স্ট্যান্ডার্ড লিনাক্স সরঞ্জামগুলির চারপাশে একটি টেল / পার্ল র‍্যাপার। যেমন, এটি লাইব্রেরিগুলির যে কোনও পসিক্স-কমপ্লায়েন্ট ওএস সম্পর্কে চালিয়ে যাবে - আমি এটি লিনাক্স, সোলারিস এবং ম্যাক ওএস এক্সে চালিয়েছি It এতে পার্ল লাইব্রেরিগুলি লাগবে (দেবিয়ান বা উবুন্টুতে পার্ল-টেক) এবং এক্স 11 :: প্রোটোকল (ডিবিয়ান বা উবুন্টুতে libx11-প্রোটোকল-পারল), এক্সটার্ম এবং ওপেনএসএইচ ছাড়াও।

Ansible

একাধিক সিস্টেম প্রশাসনের জন্য একটি দূরবর্তী কাঠামোর হিসাবে, উত্তরযোগ্য পুতুলের একটি খুব আকর্ষণীয় বিকল্প। এটি আরও বেশি ঝোঁকযুক্ত এবং এসএসএইচ-র কাজ করে বলে এটি ডেডিকেটেড রিমোট এজেন্টগুলির প্রয়োজন নেই (এটি রেডহ্যাটও কিনেছে)

কমান্ড লাইন বিকল্পগুলির চেয়ে প্লেবুকগুলি আরও বিস্তৃত।

তবে, উত্তরযোগ্য ব্যবহার শুরু করতে আপনার একটি সহজ ইনস্টলেশন প্রয়োজন এবং ক্লায়েন্টদের তালিকা পাঠ্য ফাইল সেটআপ করতে।

এরপরে, সমস্ত সার্ভারে একটি কমান্ড চালানো, এটি করার মতোই সহজ:

ansible all -m command -a "uptime"

আউটপুটটিও নিয়ম / সার্ভার অনুযায়ী খুব সুন্দরভাবে ফর্ম্যাট করা এবং আলাদা করা হয় এবং ব্যাকগ্রাউন্ডে চালানোর সময় কোনও ফাইলে পুনর্নির্দেশ করা যায় এবং পরে পরামর্শ করা যেতে পারে।

আপনি সাধারণ নিয়ম দিয়ে শুরু করতে পারেন এবং লিনাক্সে বৃদ্ধি পাওয়ার সাথে সাথে উত্তর ব্যবহার আরও আকর্ষণীয় হয়ে উঠবে এবং আপনার ইনফ্রা-কাঠামো আরও বড় হয়ে উঠবে। যেমন এটি পাওয়ারশেলের চেয়ে আরও অনেক কিছু করবে।

উদাহরণ হিসাবে, লিনাক্স সার্ভারগুলি আপগ্রেড করার জন্য একটি খুব সাধারণ প্লেবুক যা আমি লিখেছি:

---
- hosts: all
  become: yes
  gather_facts: False
  tasks:
   - name: updates a server
     apt: update_cache=yes
   - name: upgrade a server
     apt: upgrade=full

এটিতে অনেকগুলি মডিউলও সংজ্ঞায়িত করা হয়েছে যা আপনাকে সহজেই বিস্তৃত নীতিগুলি লিখতে দেয়।

মডিউল সূচী - উত্তরযোগ্য ডকুমেন্টেশন

ইতিমধ্যে সম্প্রদায় দ্বারা জবাবদিহি করা নীতিগুলি অনুসন্ধান করার জন্য এটি একটি আকর্ষণীয় অফিশিয়াল হাব / "সামাজিক" সংগ্রহস্থলের নেটওয়ার্ক পেয়েছে। উত্তর গ্যালাক্সি

জবাবদিহিও ব্যাপকভাবে ব্যবহৃত হয়, এবং আপনি গিথুবটিতে প্রচুর প্রকল্পগুলি পাবেন, যেমন ফ্রিআরিডিয়াস সেটআপের জন্য আমার কাছ থেকে ।

যদিও উত্তরবহুল একটি মুক্ত ওপেন সোর্স কাঠামো, তবে এটির জন্য একটি পেইড ওয়েব প্যানেল ইন্টারফেস রয়েছে, আনসিবল টাওয়ার যদিও লাইসেন্সিং ব্যয়বহুল।

আজকাল, রেডহ্যাট এটি কিনে দেওয়ার পরে, টাওয়ারের ওপেন সোর্স সংস্করণ এডাব্লুএক্স নামে পরিচিত ।

বোনাস হিসাবে, উত্তরীয় উইন্ডোজ সার্ভার পরিচালনা করতে সক্ষম, যদিও আমি এটির জন্য এটি কখনও ব্যবহার করি নি।

এটি নেটওয়ার্কিং সরঞ্জাম (রাউটার, সুইচ এবং ফায়ারওয়াল) পরিচালনা করতেও সক্ষম, যা এটি অটোমেশন টার্ন কী সমাধান হিসাবে খুব আকর্ষণীয় সমাধান করে।

কীভাবে আনসিবল ইনস্টল করবেন

Rundeck

তবুও, একটি রিমোট কাঠামো ব্যবহার করা সহজ, তবে উত্তর হিসাবে এত শক্তিশালী নয়, আমি রুণ্ডকে পরামর্শ দিই

এটি একটি খুব শক্তিশালী মাল্টি-ব্যবহারকারী / লগইন গ্রাফিকাল ইন্টারফেস যেখানে আপনি আপনার সাধারণ প্রতিদিনের কাজগুলি বেশিরভাগ স্বয়ংক্রিয় করতে পারেন এবং এমনকি সিপস বা হেল্পডেস্কের লোকদের জল সরবরাহের মতামত দিতে পারেন।

কমান্ডগুলি চালনার সময়, এটি আপনাকে সার্ভার / টাস্ক দ্বারা আউটপুট বিচ্ছিন্ন করে উইন্ডোজ দেয়।

এটি নির্বিঘ্নে পটভূমিতে একাধিক কাজ চালাতে পারে এবং আপনাকে পরে প্রতিবেদন এবং আউটপুট দেখতে দেয়।

rundeck ইমেজ

কিভাবে রানডেক ইনস্টল করবেন

দয়া করে মনে রাখবেন যে ওয়েব ইন্টারফেস হিসাবে এমন লোকেরা উত্তরীয় + রানডেক চালাচ্ছেন; সমস্ত ক্ষেত্রে তার জন্য বরাদ্দ করা হয় না।

এটি এও বলেছে যে উত্তরযোগ্য এবং / অথবা রানডেক ব্যবহার করে ইনফ্রা-কাঠামো নথির একটি রূপ বা অংশ হিসাবে চিহ্নিত করা যেতে পারে এবং সময়ের সাথে সাথে ক্রিয়াগুলি / রেসিপি / প্লেবুকগুলি প্রতিলিপি এবং উন্নত করতে দেয়।

শেষ অবধি, একটি কেন্দ্রীয় কমান্ড সার্ভার সম্পর্কে কথা বলার জন্য, আমি এই কাজের জন্য একটি তৈরি করব। প্রকৃতপক্ষে প্রযুক্তিগত শব্দটি একটি জাম্প বক্স। 'লাফ বাক্স' সুরক্ষা উন্নত করে, যদি আপনি তাদের ঠিকঠাক করে দেন


1
উত্তরযোগ্য একটি দুর্দান্ত সমাধান বনাম কিছু স্ক্রিপ্ট বা ইউটিলিটি যা কেবলমাত্র একাধিক এসএসএইচ সার্ভারে একটি কমান্ড সম্প্রচার করে। উত্তরযোগ্য এটি করে (এবং এটি পুতুল বা শেফের চেয়ে ভাল উদ্দেশ্যে উপযুক্ত), তবে আপনাকে আরও ভাল উপায়ে আপনার উদ্দেশ্য অর্জনের বিকল্প দেয় যেমন কেবল ইনস্টল কমান্ডটি প্রেরণের পরিবর্তে আদর্শের দ্বারা কিছু ইনস্টল করার জন্য একটি বিল্ট ইন মডিউল ব্যবহার করা gives এবং সেরা আশা করছি।
জেবেন্টলি

24

যদি আপনি এটি ইন্টারেক্টিভভাবে করতে চান তবে আপনি এটি ব্যবহার করতে পারেন terminatorযা একাধিক টার্মিনালগুলিতে একটি কমান্ড সম্প্রচারের অনুমতি দেয়।

এখানে চিত্র বর্ণনা লিখুন

দেখুন: আমি একসাথে একাধিক ট্যাব / শেলের মধ্যে একই লিনাক্স কমান্ডটি কীভাবে চালাব?


আপনি দুর্ঘটনাক্রমে এই বৈশিষ্ট্যটির শর্টকাটটি মারলে খুব বিরক্ত হয় ... :)
পাইপ

একইভাবে tmuxএবং :set sync on

12

আপনি pssh(বা parallel-ssh) ব্যবহার করতে পারেন , যা একটি এসএসএইচ ক্লায়েন্ট যা হোস্টের তালিকার সাথে সংযোগ করে এবং সমান্তরালভাবে সমস্ত হোস্টের কমান্ড কার্যকর করে:

$ parallel-ssh -i -H "host1 host2" uname -a
[1] 11:37:12 [SUCCESS] host2
Linux host2 3.19.0-25-generic #26~14.04.1-Ubuntu SMP Fri Jul 24 21:16:20 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
[2] 11:37:12 [SUCCESS] host1
Linux host1 3.19.0-25-generic #26~14.04.1-Ubuntu SMP Fri Jul 24 21:16:20 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

11

সম্ভবত আপনি একটি সাধারণ zsh (বাশ) ফাংশন দিয়ে আপনার লক্ষ্য অর্জন করতে পারেন। ধরা যাক আপনার কাছে সার্ভার রয়েছে l61 l62 l63 এবং আপনার প্রায়শই তাদের উপর একটি কমান্ড চালানো দরকার:

function run_on_cluster()
{
    (for srv in l61 l62 l63;
    do
        echo "ssh $srv $1";
    done) | parallel --gnu
}

সুতরাং, কমান্ড লাইনে:

$ run_on_cluster "uname -r"
2.6.32-279.el6.x86_64
2.6.32-279.el6.x86_64
2.6.32-504.23.4.el6.x86_64

5
সার্ভারগুলির নামটি আউটপুট দেওয়ার আগে মুদ্রণ করার পরামর্শ দেব। স্ক্রিপ্টটি সমান্তরালে চালানো স্ক্রিপ্টের আউটপুটকে নষ্ট করে দেওয়ার মতো অন্যান্য কৌতুকও এনে দেয় - আউটপুটটির ক্রিয়াকলাপ সংরক্ষণে অতিরিক্ত ব্যবস্থা গ্রহণ করতে হবে। অগ্রভাগে প্রতিটি টাস্ক চালানোও ন্যূনতম ইনপুট মিথস্ক্রিয়া হওয়ার সম্ভাবনা সরবরাহ করে।
রুই এফ রিবেইরো

3

আপনি যদি কে.ডি.ই ব্যবহার করছেন তবে এখানে অন্য একটি পদ্ধতি রয়েছে।
- কোন কনসোল উইন্ডো খুলুন।
প্রতিটি সার্ভারের সাথে আপনি যোগাযোগ করতে চান:
- একটি ট্যাব খুলুন
- সার্ভারের সাথে ssh সংযোগ স্থাপন করুন
"সম্পাদনা করুন" মেনুতে, "সমস্ত ট্যাবগুলিতে" অনুলিপি করুন "নির্বাচন করুন"

সেই ট্যাবে আপনি প্রবেশ করা প্রতিটি আদেশ সমস্ত সার্ভারে অনুলিপি করা হবে।
বিভিন্ন ফলাফল দেখতে আপনি ট্যাব থেকে ট্যাবে স্যুইচ করতে পারেন।

দ্রষ্টব্য: আমার মেনু লেবেলগুলি (উদ্ধৃতিগুলিতে) ভুল হতে পারে যেহেতু আমি কেডিএর একটি ইংরেজি সংস্করণ ব্যবহার করি না


1

জিএনইউ সমান্তরাল

এটি সংরক্ষিত সেটিংস সহ সাধারণ ওয়ান-লাইনারকে অনুমতি দেয়, সুতরাং আপনি একটি "প্রোড" প্রোফাইল তৈরি করতে পারেন যা একটি সার্ভারের তালিকা এবং সাধারণ সুইচগুলি ধারণ করে Then সার্ভার এবং এগুলি স্বয়ংক্রিয়ভাবে এগুলি মুছুন এবং এটি এমনকি আরও বড় স্ক্রিপ্টগুলির জন্য বেশ সুবিধাজনক Also এছাড়াও এটি খুব দ্রুত।

একমাত্র সমস্যাটি হ'ল এর মধ্যে অনেকগুলি বিকল্প রয়েছে;) তবে ডকুমেন্টেশনে অনেকগুলি উদাহরণ অন্তর্ভুক্ত রয়েছে, সুতরাং আপনি কেবল তাদের শুরুতে দেখতে পারেন।


2
হাই, লিনাক্স এবং লিনাক্সে আপনাকে স্বাগতম। কেউ ইতিমধ্যে gnu- সমান্তরাল ব্যবহার করে একটি স্ক্রিপ্ট দিয়েছেন যার উদাহরণ রয়েছে। আমি আপনাকে চারদিকে নজর দেওয়ার পরামর্শ দিচ্ছি, আরও বিস্তৃত উত্তর প্রশংসা করা হয়েছে এবং আপনাকে আরও পয়েন্ট দেবে।
রুই এফ রিবেইরো

1
@ রুইএফরিবিড়ো দুঃখিত, আমি খেয়াল করিনি, কোডবক্সযুক্ত এসও অ্যান্ড্রয়েড অ্যাপ্লিকেশন বাগগুলি এবং আমি বেশিরভাগ সামগ্রী দেখতে পেলাম না (এটি ফাঁকা সাদা স্থান তৈরি করে)। আপনি উল্লেখ করেছেন যে gnu- সমান্তরাল fumbling আউটপুট - এটি এটি ক্রমে লিখতে পারে তবে আপনাকে এটি করতে বলতে হবে :)
alkuzad

হ্যাঁ, আমি এটির সাথে পরিচিত নই, তবে ইতিমধ্যে সন্দেহ আছে, সুতরাং উত্তরের উল্লেখ করে উন্নতির প্রয়োজন। ধন্যবাদ। কিছুই আপনার চারপাশে আরও ভাল উত্তর লিখতে বাধা দেয় না, তবে মন্তব্য করার জন্য, আমি সেই উত্তরে মন্তব্য করার পরামর্শ দিই।
রুই এফ রিবেইরো

1

আমি এখানেও "রেক্স" উল্লেখ করতে চাই: https://www.rexify.org/

এটি একটি দুর্দান্ত সরঞ্জাম যা পার্ল + এসএসএস (ব্যবহারকারী / পাসওয়ার্ড বা কী প্রমাণীকরণ) ব্যবহার করে এবং যেহেতু পার্ল প্রতিটি (?) লিনাক্স সিস্টেমে ইনস্টল করা আছে, আমি মনে করি এটি ব্যবহার করা আরও প্রাকৃতিক বলে মনে হচ্ছে (এর উত্তরীয় এবং কো এর সাথে কিছু মিল রয়েছে)

আপনি একাধিক সার্ভারে অ্যাডহক কমান্ড একবারে চালাতে পারেন (সার্ভার 1, সার্ভার 2, সার্ভার ... - প্রমাণীকরণ স্থাপনের পরে, অথবা বিকল্পভাবে -p / -u প্যারামিটার এবং -s / -S কমান্ডটি সুডো এক্সিকিউশন করার জন্য ব্যবহার করুন):

$ rex -H "server[1..3]" -e 'say run "uptime"'

বা এমন একটি ফাইল তৈরি করুন যেখানে আপনি বিভিন্ন "কার্য" নির্দিষ্ট করেন এবং সেখান থেকে তাদের কল করুন

$ rex -f myConfigFile.rex uptime

এটি সংগ্রহস্থলের মাধ্যমে বা এমনকি পার্লস সিপিএন (বা cpanm Rex) এর মাধ্যমে ইনস্টল করা যেতে পারে এবং এটির প্রাথমিক সেটআপটি সহজ, দেখুন:
- https://www.rexify.org/ বা
- https://www.rexify.org/docs/guides/ start_ using__r__ex.html এবং
- http://www.admin-magazine.com/Archive/2014/21/First-steps-in-IT-automation-by-Rex

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.