লিনাক্স - একবারে অনেকগুলি মেশিনে একই কমান্ড চালানো


39

আমার প্রায় এক ডজন লিনাক্স বাক্স রয়েছে যা আমার মাঝে মাঝে একই কমান্ড (গুলি) চালানোর প্রয়োজন হয়। প্রতিটি মেশিনে লগইন করা এবং একবারে একবারে কমান্ড চালানো ছাড়া এগুলি করার আরও সহজ উপায় (বা স্বয়ংক্রিয় উপায়) কি আছে? এটা একই কমান্ড সব সময় নয় এবং এটি একটি প্রিসেট সময়ে তাই এটি মত সরঞ্জাম জন্য কিছু আদর্শ নয় নয় cron


অনুরূপ প্রশ্ন সার্ভারফল্ট
হাইয়ালকি

অবশেষে ক্যানোনিকাল তালিকা :)
রজারডপ্যাক

উত্তর:


12

এইচএম, সম্ভবত পিকনসোল হ'ল আপনার পছন্দসই সরঞ্জাম।


বাহ, পিকনসোল দেখতে বেশ সুন্দর লাগছে! আমি এটি কোনও সমস্যা ইনস্টল করেছি এবং এটি এখন পর্যন্ত দুর্দান্ত দেখাচ্ছে। ধন্যবাদ!
ক্রিস বাঞ্চ 16

এটি আমার প্রিয় সরঞ্জামগুলির মধ্যে একটি। :) এনপি
নোড


8

আপনার পুতুল পরীক্ষা করা উচিত এখানে সেটআপ এবং ব্যবহারের জন্য একটি লিনাক্স ডটকম নিবন্ধ রয়েছে


1
হুম, পুতুল বেশ আকর্ষণীয় দেখাচ্ছে। পিকনসোল যদি আমাকে ব্যর্থ করতে শুরু করে তবে আমি এটি একবার দেখব, যেহেতু আমার ইতিমধ্যে এটি চলছে এবং পুতুলের ভাষা শেখার চেয়ে এটি আরও সহজ। যদিও পরামর্শ জন্য ধন্যবাদ!
ক্রিস বাঞ্চ

বিশেষত, মেরিয়নেট কালেক্টিভ সরঞ্জাম (এটি ম্যাকোলেক্টিভ বা এমসিওও বলা হয়)। এটি পুতুলের একটি অংশ যা আপনাকে পুতুলের তথ্যের ভিত্তিতে হোস্টের একটি গ্রুপের উপর কাজ করতে দেয়।
ব্রায়ান মিন্টন

8

Pssh এবং dsh কেও উপেক্ষা করবেন না ; তারা উভয়ই অনেকগুলি জিএসএসের মতো যা @ ফিলিপ ডুর্বিন উল্লিখিত হয়েছে।


1
এর রয়েছে "pdssh" অনুরূপ, দৃশ্যত sourceforge.net/projects/pdsh
rogerdpack

8

আপনি ক্যাপিস্ট্রানো চেষ্টা করতে পারেন । মূলত এটি একটি রেল ডিপ্লোয়মেন্ট সরঞ্জাম, তবে এটি দূরবর্তী মেশিনগুলির সাহায্যে অনেক কিছু করতে বেড়েছে।

একাধিক মেশিন প্রশাসন পর্যন্ত আরো একটি সম্পূর্ণ aproach জন্য আপনি চেষ্টা করতে পারেন পাচক বা রাঁধুনি


8

উত্তরযোগ্য অ্যাডহক কমান্ডগুলি করার ক্ষমতা রাখে এবং সম্পূর্ণ কনফিগার পরিচালনা করার জন্য এটি প্রসারণযোগ্য। গোষ্ঠীভিত্তিক মিলের ক্ষমতা দুর্দান্ত।

http://docs.ansible.com/intro_adhoc.html


ansibleএকসাথে শত শত মেশিনের সাথে ভালভাবে কাজ করে বা আপনি এটি একবারে এন মেশিনে
ছানা

6

আমার ধারণা আমি স্ট্যাক ওভারফ্লো থেকে আমার উত্তরটি অনুলিপি করে আটকিয়ে দেব যা লোকেরা পছন্দ করে বলে মনে হয়েছিল। । ।


অনেক সার্ভারে কমান্ডগুলি কীভাবে চালানো যায় তা নিয়েই অন্য দিন পার্ল মেলিং তালিকায় উঠে এসেছিল এবং আমি সেখানে যে অনুরোধটি দিয়েছিলাম , সেই একই পরামর্শ দেব যা gsh: http://outflux.net/unix/ সফটওয়্যার / GSH

gsh for box in box1_name box2_name box3_nameইতিমধ্যে প্রদত্ত সমাধানের মতো " তবে আমি gshটিকে আরও সুবিধাজনক বলে মনে করি। আপনি ওয়েব / ডিবি, আরএইচইল 4, এক্স 86_64, বা যে কোনও কিছু (ম্যান ভূত) এর মতো গ্রুপগুলিতে আপনার সার্ভারগুলি সমন্বিত একটি / ইত্যাদি / প্রেতাত্মার ফাইল সেট আপ করেছেন যখন আপনি জিএসএস কল করার সময় আপনি সেই গোষ্ঠীটি ব্যবহার করেন।

[pdurbin@beamish ~]$ gsh web "cat /etc/redhat-release; uname -r"
www-2.foo.com: Red Hat Enterprise Linux AS release 4 (Nahant Update 7)
www-2.foo.com: 2.6.9-78.0.1.ELsmp
www-3.foo.com: Red Hat Enterprise Linux AS release 4 (Nahant Update 7)
www-3.foo.com: 2.6.9-78.0.1.ELsmp
www-4.foo.com: Red Hat Enterprise Linux Server release 5.2 (Tikanga)
www-4.foo.com: 2.6.18-92.1.13.el5
www-5.foo.com: Red Hat Enterprise Linux Server release 5.2 (Tikanga)
www-5.foo.com: 2.6.18-92.1.13.el5
[pdurbin@beamish ~]$

উদাহরণস্বরূপ আপনি ওয়েব + ডিবি বা ওয়েব-আরএইচএল 4 ব্যবহার করে ভুতের গোষ্ঠীগুলিকে একত্রিত বা বিভক্ত করতে পারেন।

আমি আরও উল্লেখ করব যে আমি কখনই shmux ব্যবহার করি নি, এর ওয়েবসাইটে সফ্টওয়্যারের একটি তালিকা রয়েছে (gsh সহ) যা আপনাকে এক সাথে অনেক সার্ভারে কমান্ড চালাতে দেয়। ক্যাপিস্ট্রানো ইতিমধ্যে উল্লেখ করা হয়েছে এবং (যা আমি বুঝতে পারি) সেই তালিকায়ও থাকতে পারে।


5

আপনি যদি কে.ডি. ডেস্কটপে থাকেন তবে কনসোলের "সমস্ত সেশনে ইনপুট প্রেরণ করুন" বিকল্প রয়েছে। এটি একই কনসোল উইন্ডোতে খোলার সমস্ত সেশনের ক্ষেত্রে প্রযোজ্য।


5

আপনি চেষ্টা করতে পারেন ssh [user@]hostname [command]এবং তারপরে হোস্টের নামগুলি লুপ করতে পারেন ।


2
এটি "একবারে" অংশটি সত্যিই সন্তুষ্ট করে না (এটি সিরিয়ালযুক্ত, সমান্তরালে নয়), তবে এটি প্রশ্নের শরীরে কোনও প্রয়োজন বলে মনে হয় না এটি এটি একটি শালীন সমাধানও হতে পারে।
voretaq7

4

ফানকে একবার দেখুন। ফানক আপনাকে সিস্টেমের বিভিন্ন দিক নিয়ন্ত্রণের জন্য মডিউল আর্কিটেকচার ব্যবহার করতে দেয়, প্যাকেজগুলি ব্যবহার করা থেকে শুরু করে কমান্ড চালানো ইত্যাদি It


এর পাশাপাশি, ফ্যাঙ্কটি রেড হ্যাট দ্বারা নির্মিত এবং ভবিষ্যতে ফেডোরা / আরএইচইএল পণ্যগুলির বর্ধিত ব্যবহার দেখতে পাবে। এটি অবশ্যই দেখার বিষয়, কারণ আমি প্রত্যাশা করি যে এটি এই ধরণের সমস্যার জন্য ডি স্ট্যাক্ট মানক সমাধান হয়ে উঠবে।
ক্রিস্টোফার ক্যাসেল

4

আমি ক্লাস্টারএসএসএইচ ব্যবহার করেছি এবং এটি কাজ করে। তবে নির্দিষ্ট সংখ্যক টার্মিনালের বাইরেও এটি ভালভাবে স্কেল হয় না।

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

উদাহরণ

echo -n host1 host2 host3 host4|xargs -d" " -n1 -P30 -I+ ssh + "sudo service apache2 restart"

(সমস্ত ওয়েব হোস্টে অ্যাপাচি পুনরায় চালু করুন))


অনুগামীদের জন্য, -P30অংশটির অর্থ "সমান্তরালে তাদের 30 রান করুন"
রজারডপ্যাক

4

আপনি যদি ইতিমধ্যে একটি tmux ব্যবহারকারী হন তবে আপনি tmux-cssh উপভোগ করতে পারেন (এর অর্থ দাঁড়ায় TMUX-C(luster)-SSH)। আপনি এটিকে সার্ভারের নামের একটি তালিকা দিন এবং এটি একটি নতুন tmux উইন্ডোটি খোলার জন্য একটি এসএসএইচ সেশনটি তার নিজের ফলকে প্রতিটি সার্ভারে খোলা থাকে। সমস্ত কীস্ট্রোক প্রতিটি উইন্ডোতে অনুলিপি করা হয়। হোস্টের সংখ্যার উপর নির্ভর করে আউটপুট পড়া শক্ত হতে পারে।


1
একটি লাইনারের লিঙ্কগুলি প্রয়োজনীয়ভাবে কার্যকর হয় না। বর্ণনামূলক হন। আপনি কেন এই সরঞ্জামটি সুপারিশ করেন?
হরিণ হান্টার

3

অন্যান্য সরঞ্জামগুলি হ'ল:

রানডেককে লাইটওয়েট কন্ট্রোল টিয়ার হিসাবে চিহ্নিত করা যেতে পারে।

এই সরঞ্জামগুলি আপনাকে কেবল একটি ক্লাস্টার শেল দেয় না, তবে একটি ওয়েব ফ্রন্টএন্ড এবং আপনি ভবিষ্যতে ব্যবহারের জন্য আপনার কাজগুলি সংরক্ষণ করতে পারেন।


2

আপনি ক্লাস্টার এসএসএইচ (সিএসএসএইচ) ব্যবহার করে দেখতে পারেন। আমি এটি ব্যবহার করি নি, তবে লিনাক্স জার্নাল ডটকম-এ একটি নিবন্ধ আছে যা "একাধিক সার্ভারগুলি দক্ষতার সাথে পরিচালনা করুন" নামে পরিচিত যা এটি সম্পর্কে আলোচনা করে।


1

সহজ এবং খুব শক্তিশালী থালা ব্যবহার করুন ! এই স্ক্রিপ্টটি আমার জীবন বদলে দিয়েছে :) এই সমস্তটি শাসন করার জন্য একটি স্ক্রিপ্ট!

http://nic-nac-project.org/~drimiks/gnu/dish.shtml

অধ্যবসায় শেল 'থালা' বেশ কয়েকটি সিস্টেমে এক সাথে ssh / rrs / telnet / mysql এর মাধ্যমে কমান্ড কার্যকর করে। পাসওয়ার্ড পরিবর্তন করা, কনফিগারেশন আপডেট করা, ফাইলগুলি অনুলিপি করা, স্ট্যাটাস পরীক্ষা করা ইত্যাদি শতাধিক নোডে তখন সহজ করা হয়। ডিশ IBM এর 'dsh' (বিতরণ শেল) এর অনুরূপ তবে ততোধিক প্রমাণীকরণের জন্য প্রয়োজনীয় কমান্ডের দূরবর্তী প্রয়োগের অনুমতি দেয়। অন্যান্য ওপেন সোর্স প্যাকেজগুলির তুলনায় ক্লাস্টার আইটি, নর্তকীর শেল, সমান্তরাল বিতরণ শেল বা সি 3 এর মতো বিতরণ শেল (বা অনুরূপ সরঞ্জাম) অন্তর্ভুক্ত, থালা যেখানে নমনীয় সমাধান প্রয়োজন সেখানে একটি পাতলা এবং রিমোট-শেল র‌্যাপার ব্যবহার করা সহজ। আপনি ডিশের ম্যানুয়াল পৃষ্ঠাটি অনলাইনে ব্রাউজ করতে পারেন।


1

অন্যান্য উত্তরে বর্ণিত কমান্ডগুলি ব্যবহার করে এখানে কিছু উদাহরণ দেওয়া হল:

pdsh

সংখ্যার ব্যাপ্তি নিতে পারে, হোস্টের নামের সাথে প্রথমে আউটপুটগুলি আসলে বজায় থাকে বলে মনে হয় :

সহজ সংস্করণ:

pdsh -w hostname echo done

আউটপুট:

hostname: done

আরও জটিল উদাহরণ:

pdsh -w username@hostname[7-8],username@otherhost "sleep 5 && echo done"

আউটপুট:

hostname8: done
hostname7: done
otherhost: done

ম্যাক: brew install pdsh

dsh

dsh -m user@host,user@host --remoteshell ssh --concurrent-shell -- "sleep 5 && echo done"

রিমোট শেল সেটিং দরকার অন্যথায় এটি "র্ষ" ব্যবহার করবে যা উপলভ্য বা নাও পেতে পারে।

ম্যাক: brew install dsh

pssh

pssh -i -H user@host -H user@host "sleep 5 && echo done"

তারা সমস্ত ফাইল থেকে মেশিনের তালিকা নিতে পারে, allyচ্ছিকভাবেও।

এখানে আরও উদাহরণ যুক্ত করতে নির্দ্বিধায়, এটি একটি কমিকিউটি উইকি

ম্যাক: brew install pssh

ক্লাস্টার এসএসএইচ

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

উদা:

csshX hostname0[1-2] hostname3 তারপরে লাল বাক্সটি টাইপ করুন এবং এটি প্রতিটি টার্মিনাল উইন্ডোতে যায়, প্রতি হোস্ট প্রতি এক, এটি পপ হয়।

ম্যাক: brew install csshx(একটি পুরানো সংস্করণ কিন্তু এখনও কাজ করে)

একটি brew install ansibleএফডাব্লুআইডাব্লুও রয়েছে

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