বেসিক আপস্টার্ট স্ক্রিপ্টটি সিস্টেমে স্থানান্তর করুন


17

আমি সবেমাত্র উবুন্টু 14.10 থেকে 15.04 এ একটি সার্ভার আপগ্রেড করেছি এবং কাস্টম আপস্টার্ট স্ক্রিপ্টগুলির মাধ্যমে আমি যে কয়েকটি পরিষেবা শুরু করি তা আর চলছে না।

আমার বোধগম্যতা হল যে সেগুলি হিসাবে আমার সেগুলি পুনরায় লিখতে হবে systemdতবে systemdরাতারাতি পুরো সিস্টেমটি শিখার চিন্তাভাবনাটি একটু ভয়ঙ্কর।

আপস্টার্ট স্ক্রিপ্টটি সহজভাবে autosshপ্রারম্ভকালে আরম্ভ হয় এবং আমার কাছে আরও বেশ কয়েকটি অনুরূপ স্ক্রিপ্ট রয়েছে যা দীর্ঘ-চলমান প্রক্রিয়াগুলি প্রবর্তন করে।

#/etc/init/autossh.conf

description "Maintain a permanent SSH tunnel to <other_server>"

start on started mountall
stop on shutdown

exec autossh -N other_server

আমি কীভাবে এটি systemdপরিষেবা হিসাবে আবার লিখতে পারি ?


উত্তর:


13

সিস্টেমডে স্থানান্তরিত করার জন্য প্রথম বিধি

এই মুহুর্তে, ২০১৫ সালে, সম্ভবত এটি ইতিমধ্যে কেউ করেছে।

systemd প্রায় কয়েক বছর ধরে ছিল। এবং সেখানে ইউনিট ফাইল লেখার এবং তাদের প্রকাশের একটি সম্পূর্ণ কুটির শিল্প রয়েছে। গিটহাব, বিশেষত, পরিষেবা ইউনিটগুলির সংগ্রহের সংগ্রহস্থলগুলিকে আকর্ষণ করে বলে মনে হচ্ছে।

প্রকৃতপক্ষে কেবলমাত্র ডাব্লুডাব্লুডাব্লু এর জন্য অনুসন্ধান autossh.service(অনুসন্ধান হিসাবে) সরে আসে:

একটি টেম্পলেট ইউনিট

এটি বলেছিল যে, আমি একা স্ট্যাকএক্সচেঞ্জের বেশ কয়েকটি স্থানে ইঙ্গিত করেছি, এই ধরণের স্থানান্তর কোনও যান্ত্রিক প্রক্রিয়া নয় এবং কখনও কখনও কেবল রোবটিকভাবে যেকোন একটি ইউনিট ফাইলে যা কিছু আছে তা থেকে ভুলভাবে বা কমপক্ষে খারাপভাবে কাজ করে চলেছে transla এই ক্ষেত্রে, autosshইতিবাচক একটি নিয়ে নাড়াচাড়া করা ঊর্ধ্বশ্বাস হয় টেমপ্লেট ইউনিট , এটা প্রকৃত সেবা ইউনিট, লক্ষ্য নামে স্থিতিমাপ মধ্যে instantiated করা হয়। সুতরাং /etc/systemd/system/autossh@.service, আছে:

[ইউনিট]
বিবরণ =% i থেকে বিপরীত টানেলের জন্য অটোএসএইচ পরিষেবা 
= Network.target পর

[পরিষেবা]
ব্যবহারকারী = autossh
EnvironmentFile = / ইত্যাদি /% পি /% i.conf
এক্সিকিস্টার্ট = / ইউএসআর / বিন / অটোশ-এম 0 -কো-এন $ এসএসএইচ_ইউএসআর @% i $ এসএসএইচ_অপশন

[ইনস্টল করুন]
WantedBy = multi-user.target

/etc/autossh/other_server.example.confনূন্যতম দিয়ে নামক একটি ফাইল তৈরি করুন :

SSH_USER = জো

তারপরে সাধারণ কন্ট্রোলগুলির সমস্ত প্রয়োগ হয়:

  • systemctl enable autossh@other_server.example - বুটস্ট্র্যাপে স্বয়ংক্রিয়ভাবে শুরু হওয়ার জন্য একটি উদাহরণ সক্ষম করুন।
  • systemctl start autossh@other_server.example - ম্যানুয়ালি অবিলম্বে এই দৃষ্টান্তটি শুরু করুন start
  • systemctl status autossh@other_server.example - এর অবস্থা দেখুন।

এবং হ্যাঁ, প্রথম বিধিটি এটির ক্ষেত্রেও প্রযোজ্য। অনুসন্ধান করে, একজন জানতে পারেন যে ওপেনসুসে গ্রেগ ফ্রিমিয়ারের পাক্ষিকের এক মাসের মধ্যেই আমাকে এই মারধর করা হয়েছিল।


আপনাকে ধন্যবাদ - আমি এর অনুরূপ কিছু নিয়ে এসেছি, তবে আমি 'টেম্পলেট ইউনিট' ধারণা সম্পর্কে অবগত ছিলাম না
trvrm

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