আমি 60 মিনিট চালানোর পরে লিনাক্স সার্ভারটি কীভাবে বন্ধ করব?


18

আমার একটি সার্ভার রয়েছে যা সুরক্ষার কারণে এটি সাধারণত বন্ধ থাকে। আমি যখন এটিতে কাজ করতে চাই তখন আমি এটিকে স্যুইচ করি, আমার কাজগুলি সম্পাদন করি এবং এটি আবার বন্ধ করে দেই। আমার কাজগুলি সাধারণত 15 মিনিটের বেশি সময় নেয় না। আমি 60 মিনিটের পরে এটি স্বয়ংক্রিয়ভাবে বন্ধ করার জন্য একটি প্রক্রিয়া প্রয়োগ করতে চাই।

ক্রোন দিয়ে এটি কীভাবে করা যায় তা নিয়ে গবেষণা করেছি, তবে সার্ভারের শেষবার চালু হওয়ার সময় ক্রোন অ্যাকাউন্ট গ্রহণ করে না বলে আমি মনে করি না এটি সঠিক উপায়। আমি কেবল পর্যায়ক্রমিক নিদর্শনগুলি সেট করতে পারি তবে তারা সেই ডেটাটিকে অ্যাকাউন্টে নেয় না।

আমি কীভাবে এই বাস্তবায়ন করতে পারি?


4
একবার দেখুন at(এককালীন কার্যকর)
dirkt

14
আমি এটি করিনি, তবে আপনার লগইন স্ক্রিপ্টটি এমন শুরু করতে পারে sudo shutdown -h +60যা শাটডাউন (-াল্ট) প্রক্রিয়াটির জন্য 60 মিনিটের একটি কাউন্টডাউন কাউন্টার শুরু করতে পারে। আপনি যদি এটি বাতিল করতে চান, আপনি করতে পারেন sudo shutdown -c (এটি ক্রোন যদিও ব্যবহার করে না)
guiverc

7
আপনার কাজের প্রকৃতির উপর নির্ভর করে ডক পাত্রে এটি চালানো উপযুক্ত, তাই আপনাকে কোনও সার্ভার স্যুইচ অফ করার বিষয়ে চিন্তা করার দরকার নেই। ধারকটি তৈরি করা হয়েছে, এটি আপনার কাজগুলি পরিচালনা করে এবং এর পরে এটি ধ্বংস হয়ে যায়।
ভিসেন্টে ওলিভার্ট রিরা

6
এ থেকে কোনও প্রকৃত সুরক্ষা সুবিধা আশা করবেন না। সর্বাধিক দুর্বলতাগুলি এক সেকেন্ডেরও কম সময়ে কাজে লাগানো যেতে পারে, তাই এক ঘন্টার পরে শক্তি প্রয়োগ শোষণকে আটকাতে পারে না। এবং কোনও আক্রমণকারী যিনি একটি দুর্বলতা পেয়েছেন আক্রমণটি চালানোর জন্য আপনাকে মেশিনে পাওয়ারের জন্য অপেক্ষা করতে পারেন।
কাস্পার্ড

2
পুনঃ @ ক্যাস্পার্ডের মন্তব্য, আমি এটিকে আবার বলেছি যে এটি সত্যই অনলাইনে কতটুকু বা সামান্যই নির্বিশেষে আপনার সার্ভারে আপনার ঠিক একই পরিমাণ সুরক্ষা দরকার। দ্রষ্টব্য, এটি এমন একটি সার্ভার যাতে এটি সংযুক্ত থাকে কিছু এবং তার মানে কিছু জানবে যখন এটি চালু - স্বয়ংক্রিয় sweeps না কি আপনি চিন্তা সম্পর্কে, এটা কোন ধরনের সংযোগ এবং আপনি যাতে সর্বোচ্চ নিরাপত্তা এড়াতে পারে না সব সময় হয় একমাত্র পথ.
স্টিফেনজি

উত্তর:


23

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

echo "sudo shutdown -P +60" >> ~/.profile

11
সময়টি কয়েক সেকেন্ডের নয়, কয়েক মিনিটের মধ্যে। shutdown -k -P 3600বনাম চেষ্টা করুন shutdown -k -P 60( -kদেয়ালের বার্তা প্রিন্ট করে তবে এর অন্য প্রভাব নেই)
সেবাসথ

12
তবে কমান্ডটি একবার একবার ব্যবহার করে দেখুন, আপনি চান না যে তাত্ক্ষণিক শাটডাউনটি আপনার প্রোফাইলে আবদ্ধ থাকুক!
ফ্যাবিয়ান রোলিং

17
আমি ভাবছি প্রতিটি এসএস লগইন শাটডাউনের নতুন কল ঘটায়। তখন কি কাউন্টার রিসেট হবে?
জোল

4
শাটডাউন ম্যানপেজে উল্লিখিত হিসাবে, শেষ 5 মিনিটে লগইনগুলির অনুমতি দেওয়া হবে না তা উল্লেখ করাও উপযুক্ত হবে।
জোল

6
নোট করুন যে 60 মিনিটের পরে লগইন বুটের 60 মিনিটের সমান হয় না। আপনি যদি মেশিনটি বুট করেন এবং লগইন করতে ভুলে যান তবে?
হেগেন ভন ইটজেন

69

বেশ কয়েকটি বিকল্প রয়েছে।

  • সরাসরি সময় সরবরাহ করুন shutdown -P:

    shutdown -P +60
    

    নোট করুন যে shutdown ম্যান পেজটিও নির্দেশ করে:

    যদি সময় আর্গুমেন্ট ব্যবহার করা হয়, সিস্টেমটি নেমে যাওয়ার 5 মিনিট আগে / রান / নোলোগিন ফাইল তৈরি করা হয় যাতে নিশ্চিত হয়ে যায় যে আরও লগইনগুলির অনুমতি দেওয়া হবে না।

  • atকমান্ড ব্যবহার করুন ।

  • একটি সিস্টেমযুক্ত ইউনিট ফাইল বা init স্ক্রিপ্ট তৈরি করুন যা shutdown -P 60প্রারম্ভকালে চলবে ।

  • @rebootবুট করার পরে কমান্ড চালানোর জন্য ক্রোনস ব্যবহার করুন ।

    (রুট) ক্রন্টব এ যুক্ত করুন:

    @reboot shutdown -P +60
    

শেষ দুটি পদ্ধতির জন্য, আপনি 60 মিনিটের জন্য শাটডাউনটি বিলম্ব sleep 3600 && shutdown -P nowকরতে সময় যুক্তি ব্যবহারের পরিবর্তে ব্যবহার করতে shutdownপারেন। শাটডাউন জারি হওয়ার আগে শেষ মুহুর্তে এইভাবে লগইনগুলি সম্ভব।


2
আমি মনে করি এই sleepকমান্ডটি সহ, আপনাকে এখনও একটি সময় নির্দিষ্ট করতে হবে shutdown- আমরা nowইতিমধ্যে অপেক্ষাটি করতে পারলে আমরা সেই যুক্তিটি ব্যবহার করতে চাই (তবে মনে রাখবেন যে এর আগে আপনার কাজটি সংরক্ষণ করার জন্য আপনি খুব বেশি সতর্কতা পাবেন না আপনার নীচে থেকে অদৃশ্য হয়ে যায়!)।
টবি স্পিড 12

1
যদিও shutdown -P 60কাজ করে এটি কমান্ডটি কীভাবে চাওয়া উচিত তা নয়। ম্যান পেজ অনুসারে আপনার ব্যবহার করা উচিত shutdown -P +60। --- এছাড়াও সময় আর্গুমেন্ট ছাড়াই শাটডাউন (উদাহরণস্বরূপ sleep 3600 && shutdown -P) এক মিনিট (লাইক shutdown -P +1) দ্বারা বিলম্বিত হবে । টবি স্পিড যেমন লিখেছেন আপনি সম্ভবত এটি ব্যবহার করতে চাইবেন shutdown -P now
পাবুক

33

এটি একটি এক্সওয়াই সমস্যার মতো দেখাচ্ছে ।

আমার কাজগুলি সাধারণত 15 মিনিটের বেশি সময় নেয় না। আমি 60 মিনিটের পরে এটি স্বয়ংক্রিয়ভাবে বন্ধ করার কোনও ব্যবস্থা প্রয়োগ করতে চাই।

যদি আপনি 60 মিনিটের পরে বন্ধ করে দেন তবে আপনি যে ঝুঁকিটি চালাচ্ছেন যে আপনি একটি বিশেষ জটিল সমস্যা চালাচ্ছেন এবং আপনার আরও সময় প্রয়োজন have পূর্ববর্তী সমাধানগুলির মধ্যে অনেকগুলি শাটডাউনটি বিলম্ব করা সহজ করে না।

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

তবে, যদি আপনার কাজটি একটি ইন্টারেক্টিভ টাস্ক হয় তবে আমি তার পরিবর্তে অলস সনাক্তকরণের পরামর্শ দেব।

আপনি যদি কোনও জিইউআই (এক্স 11) এ কাজ করেন আপনি এখানে বর্ণিত পদ্ধতির সাহায্যে অলস জিইউআই সেশনগুলি সনাক্ত করতে পারেন: সিস্টেম নিষ্ক্রিয় থাকে এবং কখন আবার সক্রিয় থাকে তখন একটি কমান্ড চালান

আপনি যদি টার্মিনালের মাধ্যমে টাস্কটি করেন তবে আপনি লগ ইন করা whoকমান্ডটি ব্যবহার করে সনাক্ত করতে পারবেন । আপনি একটি ক্রোনজ আপ সেট করতে পারেন যা whoকোনও শূন্য ফলাফল ফেরৎ পেলে মেশিনটি বন্ধ করে দেয় । নোট করুন যে এটি বেশ রক্ষণশীল পদ্ধতির হবে; যদি আপনি কনসোলটি সংযুক্ত রেখে ফেলে থাকেন তবে এটি নিষ্ক্রিয় হবে না।

আপনি যদি আরও কিছুটা আক্রমণাত্মক হতে চান এবং পাশাপাশি নিষ্ক্রিয় টার্মিনাল সেশনগুলি সংযোগ বিচ্ছিন্ন করতে চান, তবে আপনি নিষ্ক্রিয় এসএসএইচ সেশনগুলি ClientAliveInterval এবং স্বয়ংক্রিয়ভাবে সংযোগ বিচ্ছিন্ন করে পূর্ববর্তী পদ্ধতির সাথে একত্রিত করতে পারেন ClientAliveCountMax। এর জন্য আর একটি পদ্ধতি যদি আপনার এসএসএইচ না থাকে তবে আপনার স্থানীয় টার্মিনাল সেশন থাকে, হ'ল কমান্ড দ্বারা প্রদত্ত টার্মিনাল অলস সময়টি ব্যবহার করা w


2
এটি খুব গুরুত্বপূর্ণ ধারণা। আপনি যা বাস্তবায়ন করুন - আপনিও শাট ডাউনটি বাতিল করতে পারেন তা নিশ্চিত করা আপনার আগ্রহের মধ্যে রয়েছে ।
শ্যাডো

1
এটি এখনও 60 মিটার চলমান থাকলে কিছু ভুল হয়ে গেছে, তাই সম্ভবত আবার শুরু করুন। এটি খুব ব্যয়বহুল মেঘযুক্ত হতে পারে। এক উপলক্ষে শাটডাউন নিশ্চিত না করে আমাকে $ 4,000 এর চেয়ে বেশি ফিরিয়ে দেয়।
mckenzm

8

যদিও এখানে পূর্ববর্তী উত্তরগুলি সমস্তই পরিপূর্ণতার প্রয়োজনীয়তা পূরণ করে, তবুও আপনি কাজগুলি শেষ হওয়ার সাথে সাথে আপনার যন্ত্রটি বন্ধ করে দিতে পারেন।

bashস্ক্রিপ্টগুলি trapপ্যাড হতে পারে , যার অর্থ নির্দিষ্ট সংকেতগুলি বাধা দেওয়া যেতে পারে এবং প্রয়োজনে নির্দিষ্ট কাজগুলি সম্পাদন করা যেতে পারে।EXITআটকে যেতে পারে এমন একটি সংকেত।

আপনি সক্ষম হবেন:

  1. আপনার স্বয়ংক্রিয় শেল স্ক্রিপ্টগুলির trapজন্য একটি সেট করুন EXIT, যার অর্থ আপনার স্বয়ংক্রিয় কর্মের সমাপ্তি
  2. trapআপনার জন্য একটি সেট করুন .bashrc EXIT, আপনি যখনই সেই মেশিনটি থেকে লগ আউট করবেন তখন এটি বন্ধ করে দিন।

বিকল্প # 1 আদর্শ কেস হবে, যদি আপনার কাজগুলিতে অ্যাডহক পরিদর্শন এবং ম্যানুয়াল রায় প্রয়োজন না হয়।

বিকল্প # 2 কেসগুলি কভার করবে যেখানে আপনি বিদ্যুৎ বন্ধ না করে টার্মিনালটি থেকে বেরিয়ে যেতে ভুলে যাবেন। যদিও একটি সতর্কতা আছে; যদি আপনার একই মেশিনে একাধিক টার্মিনাল খোলা থাকে এবং আপনি সেগুলির একটি থেকে প্রস্থান করেন, এটি এখনও মেশিনটিকে সমস্ত একইভাবে বন্ধ করে দেবে। (এটি এড়ানোর জন্য এটি স্ক্রিপ্ট করা যেতে পারে, তবে আমি সমাধানটি জটিল করব না))

cleanup(){
    # Do some tasks before terminating
    echo oh la la, cleaning is so nice
    echo "See you later, world"
    sudo poweroff & # finally shutdown
}
trap cleanup EXIT

এটি .bashrcবিকল্প # 2 এর শেষে হতে পারে , বিকল্পের জন্য 1 এর জন্য আপনার স্ক্রিপ্টের শীর্ষে # 1।

poweroffস্ক্রিপ্টের শেষে ব্যবহার করবেন না কেন ?

আমি set -eo pipefailআমার স্ক্রিপ্টগুলির শীর্ষে ব্যবহার করতে পছন্দ করি। যদি কোনও ত্রুটি ঘটে তবে তা নিঃশব্দে ব্যর্থ হবে না; এটি আরও কমান্ড কার্যকর করা বন্ধ করবে। trapএর EXITসংকেত ক্ষেত্রে যেখানে স্ক্রিপ্ট ত্রুটির কারণে অকালে বন্ধ ঢেকে রাখুক।

তবে আপনার কার্যগুলির জন্য, এর অর্থ এইও হতে পারে যে মেশিনটি সম্পূর্ণ হওয়ার আগেই এটি বন্ধ হয়ে যাবে।

bashস্ক্রিপ্টিংটি ডিবাগ করা সহজতর করার জন্য আমার একটি সাধারণ টেম্পলেট রয়েছে; সম্ভবত এটি কিছু কাজে লাগতে পারে। অনুগ্রহ করে দেখুন এই সারকথা


সম্মত হয়েছেন এবং নিশ্চিত হয়ে উঠবেন যে ক্রোন থেকে দিনের বন্ধের সময় হতে পারে। এটি একটি মৃত মানুষের ব্রেক।
mckenzm

স্ক্রিপ্টের জন্য অ্যাবিগাইল, এটি উপরে থাকতে হবে, কারণ .bashrcঅন্য কিছু যদি ওভাররাইট করে তবে আমি নীচের অংশটি পছন্দ করব। আপনার উদ্বেগ স্পষ্ট বলে মনে হচ্ছে না, আপনি কি repl.it এ একটি উদাহরণ স্নিপেট ভাগ করে নিতে পারেন?
sdkks

@ এমকেনজম আমি বুঝতে পারছি না আপনি কি নমুনা কোড বা আরও ব্যাখ্যা ভাগ করতে পারেন?
sdkks

5

@Dirkt মন্তব্যে elaborating, আপনি একটি ঢোকাতে পারবেন atকমান্ড আপনার .bashrcবা .profileবা যেটা ফাইল লগইনে আপনার শেল ব্যবহারের 60 মিনিট আপনার লগইন পরে একটি স্বয়ংক্রিয় শাটডাউন নির্দিষ্ট সময় নির্ধারণের জন্য।

কিছুটা এইরকম:

at now + 60 minutes -f /sbin/halt

এই টাস্কটি এখনই ঠিক আছে at। আপনি তাও দেখতে পারেন atমধ্যে কর্ম/var/spool/
sdkks

5
আমি atএই প্রসঙ্গে ব্যবহারের বিরুদ্ধে পরামর্শ দেব কারণ এটি রিবুটগুলি থেকে যায়। ওপি যদি লগইন করতে হয়, ম্যানুয়ালি বন্ধ হয়ে যায় এবং তারপরে আবার এক ঘণ্টার মধ্যে আবার লগইন করে, প্রথম নির্ধারিত শাটডাউন প্রোক যখন তার শেষ লগইন হওয়ার এক ঘন্টা কেটে যাওয়ার আগে তাকে লাথি মেরে ফেলা হবে।
হারুন

@ অ্যারন এটি সত্য। ভেবে দেখেনি। বুট অধ্যবসায় এই সমাধানের জন্য একটি সতর্কতা।
sdkks

5

নিম্নলিখিতটি commandপ্যারামিটারগুলির সাথে চালিত হয় এবং এটি যদি সাফল্যের সাথে সম্পন্ন হয় তবে এটি ব্যবহারকারীকে চালাতে পারে তা ধরে নিয়ে অবিলম্বে বক্সটি বন্ধ করে দেবে poweroff। এটি ব্যবহারের প্রয়োজন হতে পারে sudo poweroff

command --parameters && poweroff

poweroffকমান্ডটি সমাপ্ত হলে নিম্নলিখিতটি কেবল তত্ক্ষণাত্ চলবে :

command --parameters ; poweroff

আপনি যদি মনে করেন যে কমান্ডটি সমাপ্তির পরে বিশ্রামের সময় প্রয়োজন, রান করুন

command --parameters ; sleep 3600 ; poweroff

আপনি যদি ভাবেন যে কমান্ডটি ওভারটাইম চলতে পারে তবে আপনি এটিকে এক ঘন্টার মধ্যে সীমাবদ্ধ রাখতে পারেন:

timeout 1h command --parameters ; poweroff

timeoutcoreutilsপ্যাকেজটির অংশ তাই আপনার সম্ভবত এটি ইতিমধ্যে রয়েছে।


3

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


2
ফাইল সিস্টেমের দুর্নীতি?
Xen2050

@ Xen2050 কোনও আধুনিক (জার্নালিং) ফাইল সিস্টেমের সমস্যা নয়।
টম

1
@ টম আপনার কাছে জোর করে জমিদারি করার কোনও উত্স আছে যদি জার্নালিং হয় তবে কখনও কখনও ফাইল সিস্টেমের দুর্নীতির কারণ ঘটবে না? আমার কাছে নতুন মনে হচ্ছে, আমি এটি পড়তে চাই। খুব কমপক্ষে এটি ফাইল সিস্টেমকে নোংরা হিসাবে চিহ্নিত করতে হবে, ঠিক একটি fsck জোর করে?
Xen2050

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

1
জার্নাল রিপ্লে ব্যর্থ হতে পারে - কয়েক সপ্তাহ আগে আমি একটি ইউপিএসবিহীন একটি মেশিনে ½-সেকেন্ডের পাওয়ার কাটানোর পরে একটি বেশ শক্ত fsck সেশন করেছি। এটি একটি জার্নালের সাথে এক্সট 4 ব্যবহার করছিল; এটি পুরোপুরি অজেয় নয়!
টবি স্পিড 12

2

আপনি যদি কোনও systemdমেশিনে থাকেন তবে আপনি মনোটোনিক টাইমার ব্যবহার করতে পারেন

টাইমার ইউনিট /etc/systemd/system/shutdown_after_an_hour.timer

[Unit]
Description=shutdown after an hour

[Timer]
OnBootSec=1h

[Install]
WantedBy=timers.target

টাইমার ইউনিট /etc/systemd/system/shutdown_after_an_hour.service :

[Unit]
Description=shutdown after an hour

[Service]
ExecStart=/sbin/poweroff --force --no-wall
Type=oneshot

এটি মাধ্যমে সক্ষম করা হয়েছে

# systemctl enable shutdown_after_an_hour.timer

এর স্থিতি (বিশেষ করে শাটডাউনের আগে কত সময় বাকী রয়েছে) এর মাধ্যমে উপলব্ধ

# systemctl list-timers shutdown_after_an_hour.timer

এটি পরবর্তী রিবুটটিতে কাজ করবে, এটি তৈরি করার systemctl startসময় সেশন চলাকালীন এটি কার্যকর নয় কারণ এটি কাজ করবে না (কারণ এটি পুনরায় বুট করার সময় ট্রিগার করা হয়নি) বা ঠিক এক ঘন্টা হলে মেশিনটি এখনই বন্ধ করে দিন। কোনটি আসলে ঘটবে তা আমি জানি না, আমি কখনই সেই নির্দিষ্ট মামলাটি পরীক্ষা করে দেখিনি।


1

শুরুতে স্বয়ংক্রিয়ভাবে চালনার sudo shutdown -P 3600জন্য /etc/init.dডিরেক্টরিটিতে স্ক্রিপ্ট ( ) স্থাপন করার চেষ্টা করুন ।

অথবা ফাইলটিতে anacronকমান্ড যুক্ত করে ব্যবহার করার চেষ্টা /etc/anacrontabকরুন। nohupকমান্ডটি লগআউটের পরেও কাজ করছে কিনা তা নিশ্চিত হতে আমি কমান্ডের সামনে ব্যবহার করার পরামর্শ দিই ।



@ sdkks, আপনি ঠিক বলেছেন অ্যানাক্রনও বিবেচনা করা যেতে পারে। স্ক্রিপ্টটি / ইত্যাদি / অ্যানাক্রান্তবায় রেখে, লগআউট হওয়ার ক্ষেত্রে 'নোহুপ' দিয়েও ব্যবহৃত হয়।
সেভেরিওফর

1
@ সাভারিওফর আপনি নিজের উত্তরটি এর মান উন্নত করতে (মন্তব্য হিসাবে অতিরিক্ত তথ্য পোস্ট করার চেয়ে ভাল) সম্পাদনা করতে পারেন ।
অ্যান্টনি জি - মনিকার পক্ষে ন্যায়বিচার

1

আপনার শেলের লগআউট ফাইলটি উত্তোলন করুন

আপনার ইউআইডি দ্বারা শুরু করা ইন্টারেক্টিভ বা অ-ইন্টারেক্টিভ কাজের জন্য যদি আপনার কেবল সার্ভারের প্রয়োজন হয় তবে আপনার শাটডাউন কমান্ডগুলি আপনার । / .Bash_logout ফাইলের মধ্যে রাখার বিষয়টি বিবেচনা করুন। গনুহ ব্যাশ ম্যানুয়াল বলেছেন:

একটি ইন্টারেক্টিভ লগইন শেলটি যখন প্রস্থান করে, বা একটি অ-ইন্টারেক্টিভ লগইন শেলটি প্রস্থান করানো বিল্টিন কমান্ড কার্যকর করে, বাশ উপস্থিত থাকলে ~ / .bash_logout ফাইলটি থেকে কমান্ডগুলি পড়ে এবং কার্যকর করে।

সুতরাং, "সুডো পাওয়ার অফ" বা আপনার লগআউট ফাইলের অনুরূপ যুক্ত করা আপনার বর্তমান অধিবেশনটি লগ আউট করার সাথে সাথে বা কোনও অ-ইন্টারেক্টিভ বাশ সেশন কল করার পরে সার্ভারটি বন্ধ করে দেবে exit। আপনি যদি শাটডাউনটি স্থগিত করতে পছন্দ করেন তবে আপনি শাটডাউনটি ব্যবহার করতে বা সময়-বিলম্বও পাস করতে বেছে নিতে পারেন ।

এটির আরও ইন্টারঅ্যাকটিভ পদ্ধতির জন্য আপনি নীচের বাশিজমগুলি আপনার লগআউট ফাইলটিতে রাখতে পারেন:

# Shutdown unless N or n is pressed within 30 seconds.
shopt -s nocasematch
read -t 30 -N 1 -p 'Shutdown now? (Y/n) '
[[ "$REPLY" =~ n ]] || sudo poweroff

আদেশ সহকারে

এই সমাধান সম্পর্কে আপনার কিছু মনে রাখা উচিত:

  • এটি সম্ভবত এক্স উইন্ডোজ দ্বারা সূচিত টার্মিনালের অধীনেও কাজ করবে, তবে সম্ভবত এক্স 11 সেশনের জন্য কাজ করবে না যা চালু startxবা অনুরূপ নয় similar
  • যদি কলটি অ-ইন্টারেক্টিভ স্ক্রিপ্টগুলি থেকে থাকে তবে exitআপনি যে শটডাউন আশা করছেন না তা অনুভব করতে পারেন।
  • যদি আপনি NOPASSWDশাটডাউন কমান্ডগুলির জন্য নির্দিষ্ট না করে থাকেন বা sudo -vআপনার শাটডাউন কমান্ডটি চালানোর আগে আপনি কল না করেন তবে আপনার সুডোর ফাইলটি একটি পাসওয়ার্ডের জন্য অনুরোধ করতে পারে ।
  • সম্ভবত অন্যান্য প্রান্তের কেসগুলি এখনও আমি ভাবিনি।

সংক্ষেপে, আপনি এই দৃষ্টিভঙ্গিটি আপনার আসল প্রয়োজন মেটাচ্ছে কিনা, অথবা লগ-ইন করা ব্যবহারকারীদের অনুপস্থিতি বা অন্য কোনও বিকল্পের জন্য নিরীক্ষণের মতো সম্পূর্ণ ভিন্ন পদ্ধতির চেয়ে ভাল বাজি কিনা তা আপনি বিবেচনা করতে পারেন। আপনার মাইলেজ অবশ্যই পৃথক হবে।

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