আমার কাছে একটি স্থানীয় মেশিন রয়েছে যা একটি রিমোট master
মেশিনে একটি এসএসএইচ অধিবেশন তৈরি করার কথা রয়েছে এবং তারপরে master
কিছু থেকে দূরবর্তী প্রতিটি থেকে অন্য অভ্যন্তরীণ এসএসএইচ অধিবেশন তৈরি করার কথা রয়েছে slaves
এবং তারপরে 2 টি কমান্ড কার্যকর করে একটি নির্দিষ্ট ডিরেক্টরি মুছে ফেলা এবং এটি পুনরায় তৈরি করতে।
নোট করুন যে লোকাল মেশিনটির মাস্টারের কাছে পাসওয়ার্ডহীন এসএসএইচ রয়েছে এবং দাসদের কাছে মাস্টের পাসওয়ার্ডহীন এসএসএইচ রয়েছে। এছাড়াও সমস্ত হোস্টনাম .ssh/config
স্থানীয় / মাস্টার মেশিনে পরিচিত এবং দাসদের হোস্ট-নেম slaves.txt
স্থানীয়ভাবে রয়েছে এবং আমি সেখান থেকে সেগুলি পড়ি।
সুতরাং আমি যা করি এবং কাজ করে তা হ'ল:
username="ubuntu"
masterHostname="myMaster"
while read line
do
#Remove previous folders and create new ones.
ssh -n $username@$masterHostname "ssh -t -t $username@$line "rm -rf Input Output Partition""
ssh -n $username@$masterHostname "ssh -t -t $username@$line "mkdir -p EC2_WORKSPACE/$project Input Output Partition""
#Update changed files...
ssh -n $username@$masterHostname "ssh -t -t $username@$line "rsync --delete -avzh /EC2_NFS/$project/* EC2_WORKSPACE/$project""
done < slaves.txt
এই গুচ্ছটিটি আমাজন ইসি 2 এ রয়েছে এবং আমি লক্ষ্য করেছি যে প্রতিটি পুনরাবৃত্তিতে 6 টি এসএসএইচ সেশন তৈরি করা হয়েছে যা একটি উল্লেখযোগ্য বিলম্বকে প্ররোচিত করে। কম এসএসএইচ সংযোগ পেতে আমি এই 3 টি কমান্ডকে 1 এ একত্রিত করতে চাই। সুতরাং আমি প্রথম 2 কমান্ড একত্রিত করার চেষ্টা করেছি
ssh -n $username@$masterHostname "ssh -t -t $username@$line "rm -rf Input Output Partition && mkdir -p EC2_WORKSPACE/$project Input Output Partition""
তবে এটি প্রত্যাশার মতো কাজ করে না। দেখে মনে হচ্ছে এটি প্রথমটি কার্যকর করে ( rm -rf Input Output Partition
) এবং তারপরে সেশনটি থেকে বেরিয়ে যায় এবং চলছে। আমি কি করতে পারি?
-J
এমন বিকল্প ব্যবহার করতে পারেন যা আপনার জাম্প হোস্টকে সংজ্ঞায়িত করবে।