منبع اصلی نوشتار زیر در این لینک قرار دارد

آشنایی با ابزار ClusterSSH

برای یک «مدیر سیستم» گاهی اوقات لازم میشه که یک سری کار تکراری رو روی چند تا سرور انجام بده. برای کارهای روتین میشه شل‌اسکریپت نوشت. اما مثلا وقتی باید روی چند تا سرور اشکال‌یابی (troubleshooting) کنید دیگه نمیشه از اسکریپت استفاده کرد. مثلا ما تو شرکت برای تماس‌هایی USSD چند تا سرور داریم که تماس‌های مشتری‌ها پخش میشن روی این چند تا سرور، و اگر من بخوام یک تماس رو ردیابی کنم مجبورم که لاگ‌های هر چند تا سرور رو دونه دونه و یا بعضی وقت‌ها همزمان مانیتور کنم. خوب، کار مفیدی نیست که هر دفعه که مشکلی پیش میاد من یک سری عملیات تکراری رو روی مثلا ۵ تا سرور انجام بدم تا ببینم تماس رفته رو کدوم سرور و از اونجا بتونم مانیتورش کنم. در واقع نه تنها مفید نیست، که کمی هم آزاردهنده هست. برای این حالت میشه از ابزار ClusterSSH استفاده کرد. به کمک این ابزار میشه روی N تا سرور یک دستور رو اجرا کرد. یعنی دیگه نیاز نیست من روی هر سرور به صورت مجزا اون دستور رو اجرا کنم، بلکه من فقط یک بار دستور رو توی ClusterSSH اجرا می‌کنم و ClusterSSH روی همه سرورهایی که بهش معرفی کردم اون دستور رو اجزا می‌کنه.
برای نصبش تو دبیان که خوب طبیعیه:

# aptitude install clusterssh

برای اجرا هم که دستور پایین رو بزنید:

$ cssh user1@host1 user2@host2 … userN@hostN

خوب با این کار به تعداد سرورهایی که بهش معرفی کردید xterm باز میشه به علاوه یک پنجره کوچیک که خود cssh هست. حالا اگه شما بخواهید یک دستور توی همه سرورها اجرا بشه کافیه که دستور رو تو همون پنجره cssh تایپ کنید. اگر بخواهید می‌تونید روی هر کدوم از اون xtermها هم کلیک کنید و یک دستور خاص رو فقط روی اون سرور اجرا کنید. برای مثال من هم‌زمان روی ۴ تا سرور لاگین کردم:

\"\"

یکی از ویژگی‌های خوب این برنامه هم اینه که تو پنجره cssh هم تکمیل دستور با tab کار می‌کنه! نهایت تنبلی! \":-)\" البته یک مشکلی هم که ممکنه پیش بیاد اینه که با فشار دادن tab ممکنه تو سه تا از سرورها دستور کامل بشه،‌ اما تو سرور چهارم یک دستور مشابه که با همون حروفی که شما وارد کردید وجود داشته باشه و اون کامل نشه! توضیحش کمی سخته، اما لینوکسی‌ها حتما می‌فهمن منظور من چی بود! \":-P\"

توجه: این ابزار به همون اندازه که مفیده می‌تونه خطرناک هم باشه. مثلا وقتی که بخواهید یک فایل رو فقط از روی یک سرور پاک کنید اگر اشتباهی تو پنجره cssh این کار رو بکنید از رو همه سرورها پاک میشه. به هر حال مواظب باشید تا بعدا نویسنده و معرف ClusterSSH رو مقصر ندونید!



برچسب ها : , , ,