আমি শুনেছি ক্রন্টব একটি ভাল পছন্দ, তবে আমি কীভাবে লাইনটি লিখব এবং এটি সার্ভারে কোথায় রাখব?
আমি শুনেছি ক্রন্টব একটি ভাল পছন্দ, তবে আমি কীভাবে লাইনটি লিখব এবং এটি সার্ভারে কোথায় রাখব?
উত্তর:
ক্রোনট্যাব কী এবং উবুন্টুতে এটি কীভাবে ব্যবহার করা যায় সে সম্পর্কে একটি ভাল টিউটোরিয়াল এখানে । আপনার ক্রোনটব লাইনটি এরকম কিছু দেখবে:
00 00 * * * ruby path/to/your/script.rb
( 00 00
মধ্যরাত নির্দেশ করে - 0 মিনিট এবং 0 ঘন্টা - এবং *
প্রতি মাসের প্রতিটি দিন মানে))
বাক্য গঠন: মিমি এইচএইচ ডিডি এমটি ডাব্লুডি কমান্ড মিমি মিনিট 0-59 ঘন্টা ঘন্টা 0-23 মাসের ডিডি দিন 1-31 মিট মাস 1-12 সপ্তাহের সপ্তাহের 0-7 (রবিবার = 0 বা 7) কমান্ড: আপনি কি চালাতে চান সমস্ত সংখ্যার মানগুলি * দ্বারা প্রতিস্থাপিত হতে পারে যার অর্থ সমস্ত
/etc/crontab
(উবুন্টুতে) ব্যবহারকারীর কলামটি (যা কমান্ডের আগে চলে যেত) অনুমতি দেওয়া হয়েছে , কিন্তু আপনি যখন চালনা করেন crontab -e
আপনি কোনও ব্যবহারকারী-নির্দিষ্ট ক্রোনট্যাব সম্পাদনা করছেন যা এই কলামটির অনুমতি দেয় না। আইআইআরসি উবুন্টু /etc/crontab
ম্যানুয়ালি প্রস্থান করতে নিরুৎসাহিত করে কারণ এটি ওভাররাইট করা হতে পারে। এখানে দেখুন: স্ট্যাকওভারফ্লো.com
sudo crotab -u root -e
ম্যান পৃষ্ঠা থেকে
linux$ man -S 5 crontab
cron(8) examines cron entries once every minute.
The time and date fields are:
field allowed values
----- --------------
minute 0-59
hour 0-23
day of month 1-31
month 1-12 (or names, see below)
day of week 0-7 (0 or 7 is Sun, or use names)
...
# run five minutes after midnight, every day
5 0 * * * $HOME/bin/daily.job >> $HOME/tmp/out 2>&1
...
বিশেষ "ডাকনামগুলি" ব্যবহার করা যেতে পারে (ম্যান পৃষ্ঠায় ডকুমেন্টেড) নোট করা ভাল, বিশেষত "@ রিবুট" যার কোনও সময় এবং তারিখের বিকল্প নেই।
# Run once after reboot.
@reboot /usr/local/sbin/run_only_once_after_reboot.sh
আপনি এই কৌশলটি প্রতি মিনিটে একাধিকবার আপনার ক্রোন জব চালাতে ব্যবহার করতে পারেন।
# Run every minute at 0, 20, and 40 second intervals
* * * * * sleep 00; /usr/local/sbin/run_3times_per_minute.sh
* * * * * sleep 20; /usr/local/sbin/run_3times_per_minute.sh
* * * * * sleep 40; /usr/local/sbin/run_3times_per_minute.sh
ক্রোন জব যুক্ত করতে আপনি তিনটি জিনিসের একটি করতে পারেন:
উপরের মতো দেখানো হয়েছে (এবং ক্রোনট্যাব, বিভাগ 5, ম্যান পৃষ্ঠা থেকে) ব্যবহারকারীর ক্রন্টবটিতে একটি কমান্ড যুক্ত করুন।
crontab -e -u <username>
crontab -e
EDITOR
পরিবেশ পরিবর্তনশীল
সহ সম্পাদককে সেট করতে পারেনenv EDITOR=nano crontab -e -u <username>
export EDITOR=vim
crontab -e
chmod a+x <file>
ক্রোন জব হিসাবে একটি স্ক্রিপ্ট / প্রোগ্রাম তৈরি করুন এবং এটি সিস্টেমের অ্যানক্রোন /etc/cron.*ly
ডিরেক্টরিতে যুক্ত করুন
chmod a+x /etc/cron.daily/script_runs_daily.sh
- এটি কার্যকর করাman anacron
chmod a+x <file>
/etc/crontab
বা কনফিগার করা আছে/etc/anacrontab
/etc/anacrontab
এটিকে সংজ্ঞায়িত করে এবং ক্রোন.আর প্রতিটি সংজ্ঞায়িত করে/etc/cron.d/0hourly
বা, কেউ এর মধ্যে সিস্টেম ক্রন্টেবল তৈরি করতে পারে /etc/cron.d
।
/etc/cron.d
এক্সিকিউটেবল হওয়ার দরকার নেই।someuser
এবং /bin/bash
শেল হিসাবে বাধ্যতামূলকভাবে ব্যবহার করা হয়। File: /etc/cron.d/myapp-cron
# use /bin/bash to run commands, no matter what /etc/passwd says
SHELL=/bin/bash
# Execute a nightly (11:00pm) cron job to scrub application records
00 23 * * * someuser /opt/myapp/bin/scrubrecords.php
কখনও কখনও আপনাকে আরভিএম সহ ক্রোনট্যাব ব্যবহার করে PATH এবং GEM_PATH উল্লেখ করতে হবে।
এটার মত:
# top of crontab file
PATH=/home/user_name/.rvm/gems/ruby-2.2.0/bin:/home/user_name/.rvm/gems/ruby-2.2.0@global/bin:/home/user_name/.rvm/rubies/ruby-2.2.$
GEM_PATH=/home/user_name/.rvm/gems/ruby-2.2.0:/home/user_name/.rvm/gems/ruby-2.2.0@global
# jobs
00 00 * * * ruby path/to/your/script.rb
00 */4 * * * ruby path/to/your/script2.rb
00 8,12,22 * * * ruby path/to/your/script3.rb
ক্রোন জব সেটআপ করার জন্য দ্রুত গাইড
একটি নতুন পাঠ্য ফাইল তৈরি করুন, উদাহরণস্বরূপ: mycronjobs.txt
প্রতিটি প্রাত্যহিক কাজের জন্য (00:00, 03:45), মাইক্রোনজবস.টেক্সটে সময়সূচী লাইনগুলি সংরক্ষণ করুন
00 00 * * * ruby path/to/your/script.rb
45 03 * * * path/to/your/script2.sh
কাজ ক্রোনকে প্রেরণ করুন ( প্রতিবার আপনি এটি চালানোর সময়, ক্রোন যা সঞ্চিত রয়েছে তা মুছে ফেলে এবং মাইক্রোনজবস.টেক্সটে নতুন তথ্য সহ আপডেট করে )
crontab mycronjobs.txt
অতিরিক্ত দরকারী তথ্য
বর্তমান ক্রোন কাজ দেখুন
crontab -l
সমস্ত ক্রোন কাজ সরান
crontab -r
ক্রোন জব ব্যবহার করে বা শেল স্ক্রিপ্ট লিখে আপনি দুটি উপায়ে শেল স্ক্রিপ্ট সম্পাদন করতে পারেন
ধরে নেওয়া যাক আপনার স্ক্রিপ্টের নাম "thycript.sh"
প্রথমে স্ক্রিপ্টটির ব্যবহারকারীর অনুমতি পরীক্ষা করুন। স্ক্রিপ্টটির ব্যবহারকারীর অনুমতি পরীক্ষা করতে নীচের কমান্ডটি ব্যবহার করুন
llcript.sh
স্ক্রিপ্টটি যদি রুটে থাকে তবে নীচের কমান্ডটি ব্যবহার করুন
sudo crontab -e
দ্বিতীয়টি যদি স্ক্রিপ্টটি "উবুন্টু" ব্যবহারকারীকে ধারণ করে, তবে নীচের কমান্ডটি ব্যবহার করুন
crontab -e
আপনার ক্রন্টবায় নিম্নলিখিত লাইনটি যুক্ত করুন: -
55 23 * * /পাথ / টো / ইয়োরসক্রিপ.শ
এটি করার আরেকটি উপায় হ'ল একটি স্ক্রিপ্ট লেখা এবং এটি ব্যাকগ্রাউডে চালানো run
এখানে স্ক্রিপ্টটি এখানে আপনার স্ক্রিপ্টের নাম (যেমন: - youscript.sh) রাখতে হবে যা প্রতিদিন বেলা ২:5:৫৫ এ চলতে চলেছে
#!/bin/bash
while true
do
/home/modassir/yourscript.sh
sleep 1d
done
এটি একটি ফাইলে সংরক্ষণ করুন (এর নাম দিন "প্রতি দিন দিন" দিন)
ঘুম 1 ডি - এর অর্থ এটি এক দিনের জন্য অপেক্ষা করে এবং তারপরে এটি আবার চলে।
এখন আপনার স্ক্রিপ্টকে অনুমতি দিন below নীচের কমান্ডটি ব্যবহার করুন: -
chmod + x Every-day.sh
এখন, "nohup" ব্যবহার করে পটভূমিতে এই শেল স্ক্রিপ্টটি কার্যকর করুন। আপনি আপনার সেশন থেকে লগআউট করার পরেও এটি স্ক্রিপ্টটি কার্যকর করতে থাকবে।
স্ক্রিপ্টটি কার্যকর করতে নীচের কমান্ডটি ব্যবহার করুন।
nohup ./Eeverdayday.sh &
দ্রষ্টব্য: - প্রতিদিন বেলা 23:55 এ "thycript.sh" চালানোর জন্য আপনাকে ঠিক 23:55 মিনিটে "Every -day.sh" স্ক্রিপ্টটি সম্পাদন করতে হবে।