ক্রন্টব ফাইল সম্পাদনা করার সঠিক উপায় কী?


52

আমি আমার ওয়েবসারভারের জন্য অ্যাডস্ট্যাটগুলি রিফ্রেশিং স্বয়ংক্রিয় করার চেষ্টা করছি এবং বুঝতে পারি যে এটি সেট আপ করার জন্য আমার ক্রোন ব্যবহার করা প্রয়োজন। সুতরাং প্রতিটি ব্যবহারকারীর একটি ক্রন্টব ফাইল আছে?

আমি এখানে সম্প্রদায় / এডাব্লুস্ট্যাটস নির্দেশাবলী অনুসরণ করছিলাম

এবং এটিতে ফাইলটিতে যেতে বলা হয়েছে: /etc/crontab

ফাইলটি ইতিমধ্যে এতে কিছু তথ্য রয়েছে। এটি কি মূল crontabফাইল বা কিছু? পপ আপ ফাইলটি ব্যবহার করতে অনলাইনে কিছু নির্দেশাবলী আমি দেখেছি crontab -e

এটি করার সর্বোত্তম উপায়টি ব্যবহার করার উপযুক্ত ফাইল কী?

আমি যদি আমার নন-রুট ব্যবহারকারী হিসাবে কোনও কাজটি নির্ধারণ করি, তবে এটি কোনও সমস্যা না করে নির্দিষ্ট সময় ব্যবধানে নিজেই চালিত হবে?

crontabকাজ শুরু করার আগে ফাইলটিতে ক্রোন জব সংরক্ষণ করার পরে সার্ভারটি পুনরায় চালু করার দরকার আছে কি ?

উত্তর:


50

এটি করার সর্বোত্তম উপায়টি ব্যবহার করার উপযুক্ত ফাইল কী?

crontab -e এটি করার সর্বোত্তম উপায় - এটি আপনাকে প্রতি ব্যবহারকারীর ক্রন্টাবগুলি সহজে সম্পাদনা করার অনুমতি দেবে।

আমি যদি আমার নন-রুট ব্যবহারকারী হিসাবে কোনও কাজটি নির্ধারণ করি, তবে এটি কোনও সমস্যা না করে নির্দিষ্ট সময় ব্যবধানে নিজেই চালিত হবে?

হ্যাঁ, এবং এটি সেই ব্যবহারকারীর অ্যাকাউন্টের সুবিধাগুলি দিয়ে চলবে।

একটি নীতি হিসাবে, আপনি যে সর্বনিম্ন সুযোগ-সুবিধাগুলি থেকে দূরে সরে যেতে পারেন তা নির্ধারিত কাজগুলি পরিচালনা করা ভাল, সুতরাং আপনি যা করছেন তার জন্য যদি রুটের প্রয়োজন হয় না, রুটটি ব্যবহার করবেন না। আপনি যদি নিজের অ্যাকাউন্টের ফাইল এবং ফোল্ডার অ্যাক্সেস করতে সক্ষম না হন তবে আপনি একটি নতুন ব্যবহারকারী তৈরি করতে পারেন এবং কেবল সেই কাজের জন্য সেই ব্যবহারকারী অ্যাকাউন্টটি ব্যবহার করতে পারেন । অন্যদিকে আপনার টাস্ক যদি উপর না রুট প্রয়োজন, ব্যবহার root এর নিম্নলিখিতরূপে crontab পরিবর্তন ( su/ sudo suতারপর রুট করার জন্য ব্যবহার crontab -e)।

ক্রোনটব ফাইলে কাজ শুরু করার আগে ক্রোন জব সংরক্ষণ করার পরে কি আমার সার্ভারটি পুনরায় চালু করতে হবে?

না এটি সরাসরি কাজ শুরু করবে (ভাল, পরবর্তী সম্ভাব্য নির্ধারিত সময়)।

সরাসরি ফাইল সম্পাদনা করবেন না কেন? এটি কোথায় অবস্থিত?

ব্যবহারকারী ক্রন্টব ফাইলগুলি অবস্থিত /var/spool/cron/crontabs, তবে তাদের অনুমতিগুলি এমনভাবে সেট করা হয়েছে যাতে সুপারসারের অনুমতি ব্যতীত এগুলি ট্র্যাভার করা যায় না (তবে একবার খোলা থাকলে এবং ক্রোন প্রক্রিয়াটি সুবিধাগুলি ফেলে দেয় তবে এটি ফাইলটি অ্যাক্সেস করতে পারে)।

শেষ ব্যবহারকারীদের এই ফাইলগুলি সরাসরি সম্পাদনা করার জন্য সিস্টেমটি ডিজাইন করা হয়নি এবং প্রকৃতপক্ষে ফাইলটির DO NOT EDIT THIS FILEশীর্ষে এই প্রভাবের শীর্ষে একটি কঠোর সতর্কতা রয়েছে। পরিবর্তে ফাইলটি সম্পাদনা করার জন্য ডিজাইন করা হয়েছে crontab -eযার মাধ্যমে /tmpকঠোর সতর্কতা ছাড়াই - সম্পাদনার জন্য ফাইলটির একটি অস্থায়ী আয়না সেট করে - যার পরে এটি স্থায়ী ক্রন্টব ফাইলটি নিজেই পরীক্ষা করে ইনস্টল করে s এটি সর্বোপরি অনুমতি ছাড়াই করা যেতে পারে।

আপনি যদি ক্রন্টব ফাইলটি সরাসরি সম্পাদনা করে থাকেন তবে ফলাফল কী হবে তা আমি জানি না। এটি সম্ভবত পরবর্তী রিস্টার্ট না হওয়া পর্যন্ত কার্যকর হবে না এবং কোনও ত্রুটি ডিবাগ করা কঠিন হতে পারে।


5
crontab -eআপনাকে sudo ছাড়াই আপনার ব্যবহারকারী crontab সম্পাদনা করতে দেয়। ব্যবহারকারী ক্রন্টাবগুলি /var/spool/cron/crontabsএমন একটি ডিরেক্টরি যা সুপারউজারের অনুমতি ব্যতীত অ্যাক্সেস করা যায় না (তবে এমনভাবে যে একবার ক্রোন সুবিধাগুলি ড্রপ হয় এটি এখনও এটি পড়তে সক্ষম)। এমনকি আপনি সরাসরি ফাইলটি চেষ্টা ও সম্পাদনা করতে sudo ব্যবহার করলেও, আপনি শীর্ষে একটি বড় সতর্কতা দেখতে পান, "এই ফাইলটি সম্পাদনা করবেন না" - ফাইলটি এমন crontabএকটি কমান্ড ব্যবহার করে সম্পাদনা করার জন্য ডিজাইন করা হয়েছে যা একটি অস্থায়ী অনুলিপি ব্যবহার করে /tmpএবং পরে ইনস্টল করে আপনি সংরক্ষণের পরে।
থোমাস্রুটার

25

প্রত্যেক ব্যবহারকারীর নিজস্ব থাকে crontab

এটি দেখতে টাইপ করুন

crontab -l

এবং, হ্যাঁ আপনি এটি ঠিক দেখেছেন, আপনি যখন যুক্ত করতে চান crontabতখন কেবল করুন

crontab -e

প্রথমবারের জন্য আপনাকে সম্পাদকটির সাথে ব্যবহার করার বিষয়ে জিজ্ঞাসা করা হবে crontab। আপনি যেমন বলছেন আপনি নবাগত হিসাবে, আমি ন্যানো ব্যবহার করার পরামর্শ দেব, এটি ব্যবহারের সবচেয়ে সহজ সম্পাদক।

ক্রোনটব নিজেই এ জাতীয় কাজ করে

MIN =  Minute 0-60
HOUR = Hour [24-hour clock] 0-23
MDAY = Day of Month 1-31
MON = Month 1-12 OR jan,feb,mar,apr ...
DOW =  Day of Week 0-6 OR sun,mon,tue,wed,thu,fri,sat
COMMAND = Command to be run Any valid command-line

সুতরাং উদাহরণস্বরূপ শুধুমাত্র সোমবার প্রতি 15 মিনিটে একটি কাজের ট্রিগার করা, আপনি এটি পছন্দ করেন

*/15 * * * mon /home/me/yourscript.sh

এবং হ্যাঁ এটি খুব গুরুত্বপূর্ণ যে আপনি নিজের ক্রোনজব ব্যবহারকারীর ক্রোনটবটিতে রেখেছেন যার এটি সম্পাদন করার যথেষ্ট অধিকার রয়েছে।

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

এছাড়াও খুব গুরুত্বপূর্ণ!

ক্রোনজব বোবা! হ্যাঁ আমি এটা বলেছি। আপনি যেটা application/command/scriptব্যবহার করছেন তাতে সম্পূর্ণ প্যাথএইচ প্রবেশ করানোর বিষয়টি সর্বদা নিশ্চিত করুন , কারণ ক্রোন্টাব এর সাথে .bashrcবা এর মতো কাজ করবে না । আপনাকে সর্বদা এটি নিশ্চিত করতে হবে যে আপনি ক্রোনকে বলেছেন যেখানে এটি ফাইল এবং ডিরেক্টরিগুলি খুঁজে পেতে পারে।

আপনার বাকি প্রশ্নের উত্তর দিতে:

অবশ্যই এটি নিজেরাই চলবে, এটাই এখানে রয়েছে। তবে আপনাকে ক্রোনজব সত্যিই এটি করেছে কিনা তা পরীক্ষা করা দরকার বা এটি থেকে কিছু অনুপস্থিত থাকলে। যেমন একটি লগফাইলে লগইন করুন এটি সত্যিই কাজ করে কিনা তা দেখার জন্য।

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


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