প্রতিটি রিবুটে +1 মিনিটের মধ্যে সম্পাদিত একটি স্ক্রিপ্ট দরকার। আমি একটি রেকর্ড রেখেছি @rebootতবে এটি আমার স্ক্রিপ্টের জন্য খুব তাড়াতাড়ি। পুনরায় বুট করার পরে এটি কীভাবে কার্যকর করা যায়?
প্রতিটি রিবুটে +1 মিনিটের মধ্যে সম্পাদিত একটি স্ক্রিপ্ট দরকার। আমি একটি রেকর্ড রেখেছি @rebootতবে এটি আমার স্ক্রিপ্টের জন্য খুব তাড়াতাড়ি। পুনরায় বুট করার পরে এটি কীভাবে কার্যকর করা যায়?
উত্তর:
স্ক্রিপ্টটি কি কখনও বুটআপের এক মিনিট পরে চালানোর উদ্দেশ্যে তৈরি হয়েছিল, বা এটি অন্যান্য সময়েও ব্যবহার করা যেতে পারে? পূর্ববর্তী ক্ষেত্রে, আপনি sleep 60আপনার স্ক্রিপ্টের শুরুতে বা পরবর্তী ক্ষেত্রে এটি ক্রন্টব ফাইলটিতে যুক্ত করতে পারেন:
@reboot sleep 60 && my_script.sh
যেমন sr_ দ্বারা নির্দেশিত হয়েছে, যদিও, সম্ভবত আপনি এটি ভুল উপায়ে মোকাবেলা করছেন এবং একটি উপযুক্ত init.d বা rc.d স্ক্রিপ্ট আরও শক্তিশালী সমাধান হতে পারে।
script -s Xযা sleep Xস্ক্রিপ্টের অভ্যন্তরে অনুবাদ করবে )।
taskrunner, কিংবা, যে বিষয়টি জন্য,/etc/init.d
নেটওয়ার্ক উপলব্ধ হয়ে উঠলে আপনাকে পুনরায় বুট করার পরে যদি কিছু সম্পাদন করতে হয়, উদাহরণস্বরূপ, আপনি সিস্টেমড ইউনিট লিখতে পারেন যা প্রয়োজনীয় সময়ে কার্যকর করা হবে (অবশ্যই এটি কেবল সিস্টেমডযুক্ত সিস্টেমে কাজ করবে)।
/etc/systemd/system/my_script.serviceনিম্নলিখিত বিষয়বস্তু সহ ফাইল তৈরি করতে :
[Unit]
Description=My script that requires network
After=network.target
[Service]
Type=oneshot
ExecStart=/full/path/to/my_script.sh
[Install]
WantedBy=multi-user.target
তারপরে কার্যকর করুন:
sudo systemctl daemon-reload
sudo systemctl enable my_script
তুমি করেছ!
আমি ব্যবহার করব at। হিসাবে:
@reboot echo /root/bin/do_the_stuff | at now + 2 minutes
# at assigns it an execution time truncated to whole minutes,
# so this means it will execute in 1--2 minutes.
... যুক্ত উল্লিখিত সতর্কতার সাথে যে আপনি যা চান তা যদি অন্য সমস্ত জিনিসগুলির পরে চালানো হয় তবে আপনার ওএস ব্যবহার করছে যে থিমটিতে এটি কীভাবে করা যায় তা পরীক্ষা করা উচিত।