বুট করার পরে আমি কীভাবে একটি কমান্ড চালাতে পারি?


27

echo 1 > /proc/sys/kernel/sysrqSysrq কী সক্ষম করতে আমি প্রতিটি বুটে সাধারণ শেল কমান্ডটি চালাতে চাই । বুটে কখন এটি করা উচিত এবং এটি করার জন্য আমার কোথায় স্ক্রিপ্ট রাখা উচিত?


সমস্ত লিনাক্স বিতরণ ইতিমধ্যে সময় নির্ধারণ করে। মাদারবোর্ডে আপনার আরটিসির ব্যাটারি কম?
কিছু প্রোগ্রামার

@ জোয়াচিমপিলবার্গ আসলে আমার মাদারবোর্ডে আরটিসি নেই :) এটি আরটিসি ছাড়াই এমবেডেড সিস্টেম বোর্ড।


2
আমি আলাদা করতে অনুরোধ করছি, @ ডেভিডগো। রেফারেন্স আপনি মূল্য উদ্ধৃতি হয় একটি বাচ্চা অপ্রচলিত আছেন: যখন নিম্নলিখিতরূপে crontab পরিবর্তন কাজ করে, /etc/rc.local উপর না systemdআর্চ লিনাক্স মত ডিস্ট্রো। তাদের উল্লেখ করে, আমরা বন্য হংসের তাড়াতে ডেমেট্রি পাঠাচ্ছি। কিছু আপডেট করা, কিছু সময়ে, করা প্রয়োজন।
মারিউস ম্যাটুটিয়া

উত্তর:


37

ডিস্ট্রোসের উপর নির্ভর করে।

আপনি যদি ডেবিয়ান থেকে প্রাপ্ত ডিগ্রোস এ থাকেন তবে কমপক্ষে দুটি সঠিক জায়গা, /etc/rc.local এবং crontab রয়েছে are আপনি রুট হিসাবে crontab আহ্বান করতে পারেন,

   crontab -e

এবং তারপরে এই লাইনটি sertোকান

   @reboot /home/my_name/bin/my_command

যেখানে my_commandএকটি এক্সিকিউটেবল ফাইল ( chmod 755 my_command)।

বিকল্পভাবে, আপনি এটির মতো একটি লাইন রাখতে পারেন

   /home/my_name/bin/my_command

/etc/rc.local এ এবং এটি সর্বশেষে কার্যকর করা হবে। যে কোনও ক্ষেত্রে, দয়া করে মনে রাখবেন যে আপনি শিকড় পরিবেশ ব্যবহার করছেন, আপনার নয়। এছাড়াও এই কারণে, নিখুঁত পাথ ব্যবহার করা ভাল।

আপনি যদি সিস্টেমেড ডিস্ট্রোতে থাকেন (আর্চ লিনাক্স, ফেডোরা 19, ...) প্রথম বিকল্পটি (ক্রন্টব) এখনও বৈধ, তবে দ্বিতীয়টি (/etc/rc.local) আর বিদ্যমান নেই। এই ক্ষেত্রে, আপনার দ্বারা চালিত একটি পরিষেবা কীভাবে শুরু করা উচিত তা শিখতে হবে systemctl, তবে এটি আপনার সাধারণ প্রশ্নটি নিয়ে দর কষাকষির চেয়ে বেশি হতে পারে।


1
আপনি কি ফেডোরার জন্য এটি নিশ্চিত করতে পারবেন? আমার অনুসন্ধান আমাকে বলেছে যে rc.local এখনও চলবে যদি এটি উপস্থিত থাকে এবং কার্যকর হয় তবে ডিফল্টরূপে সেট আপ করা হয় না। Rc.local চালিত না হলে সমস্যাগুলি বিরক্তিকরভাবে বুঝতে পেরেছি! (আমি কেবল ফেডোরা 18 - forums.fedoraforum.org/showthread.php?t=291889 - এর জন্য রেফারেন্সগুলি খুঁজে পেতে পারি )
ডেভিডগো

আপনি ঠিক বলেছেন, ফেডোরা ১৯-তে আপনি এখনও এটি পেতে পারেন, যদি আপনি সত্যিই এটি চান। তবে এটি আর প্যাকেজড নেই, ডকস.ফেডোরাপ্রজেক্ট.আর্গ / en-US / Fedora / 16 / html / Release_Notes/… বুলেট ৩.২.৪ । এছাড়াও, এটি আর্চ লিনাক্সে সম্পূর্ণরূপে বিদ্যমান নেই, তাই আমি সে সম্পর্কে একটি সতর্কতা অন্তর্ভুক্ত করা নিরাপদ বলে মনে করি।
মারিয়াসমাতুটিয়া

2
সম্ভবত এটি আমার জন্য একটি অজানা উরফ তবে @bootউপস্থিত নেই, কেবল @reboot ডেবিয়ানহেলপ.কম.উক
জারাথুস্ট্র

19

যদি আপনার সিস্টেম cronএটির কোনও সংস্করণ সমর্থন করে তবে (বিশেষত ভিক্সি ক্রোন), আপনি @rebootক্রোন জব ব্যবহার করতে পারেন ।

এটি 8 টি বিশেষ স্ট্রিংগুলির মধ্যে একটি যা এটি সমর্থন করে।

crontab(5)ম্যান পৃষ্ঠাটি উদ্ধৃত করা হচ্ছে (আমার উবুন্টু 12.04 সিস্টেম থেকে):

প্রথম পাঁচটি ক্ষেত্রের পরিবর্তে, আটটি বিশেষ স্ট্রিংয়ের মধ্যে একটি উপস্থিত হতে পারে:

string         meaning
------         -------
@reboot        Run once, at startup.
@yearly        Run once a year, "0 0 1 1 *".
@annually      (same as @yearly)
@monthly       Run once a month, "0 0 1 * *".
@weekly        Run once a week, "0 0 * * 0".
@daily         Run once a day, "0 0 * * *".
@midnight      (same as @daily)
@hourly        Run once an hour, "0 * * * *".

দয়া করে মনে রাখবেন প্রারম্ভে, যতটা @rebootউদ্বিগ্ন হয়, সময় হয় যখন ক্রন (8) ডেমন প্রারম্ভে। বিশেষত, এটি কিছু সিস্টেম ডেমন বা অন্যান্য সুবিধাগুলি শুরু হওয়ার আগে হতে পারে। এটি মেশিনের বুট অর্ডার ক্রমের কারণে।

বুট করার সময় কিছু চালানোর একমাত্র উপায় এটি থেকে দূরে তবে এটি বিকল্প alternative


2
এই প্রশ্নের উত্তর কীভাবে মূল প্রশ্নের এক বছরেরও বেশি সময় আগে রচিত হতে পারে ?
মারিয়াসমাতুটিয়


ভিক্সি ক্রোন প্রয়োজন তা নির্দিষ্ট করার জন্য +1।
জাভেয়ের আরিয়াস

10

খুব সুন্দর লিনাক্সের সমস্ত রূপগুলি (একটি দীর্ঘ, দীর্ঘ সময় পিছনে ফিরে) একটি ফাইল /etc/rc.local রয়েছে যা প্রারম্ভকালে চলতে পারে - আপনি কেবল এটিতে কমান্ডটি যুক্ত করতে পারেন।

এটি বলেছিল, আপনার এমনকি এটি করারও দরকার নেই। "সঠিক" উপায়টি হ'ল /etc/sysctl.conf- এ লাইন কার্নেল.সায়ারকিউ = 1 সংশোধন / যুক্ত করা হবে

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