টেস্টিং / ডিবাগিংয়ের জন্য আমি ক্রোন এখনই কীভাবে একটি কাজ চালাতে পারি? শিডিউল পরিবর্তন না করে!


133

আমার একটি ক্রোন জব রয়েছে যা প্রতিদিন চালানোর জন্য নির্ধারিত ছিল, শিডিউল পরিবর্তন করা ব্যতীত, এখনই কমান্ডটি পরীক্ষা করে চালানোর কোনও উপায় আছে কি তা দেখার জন্য যে এটি উদ্দেশ্য হিসাবে কাজ করে?


আমি আপনার প্রশ্ন বুঝতে পারি না? কমান্ড চালাবেন না কেন?
ফেভাদি

20
আমি জানি কমান্ডটি কার্যকরী যখন শেল (আমার শেল) এ প্রবেশ, কিন্তু আমি জানতে চাই যদি এটি কাজ করে যখন চান cronএটি সঞ্চালিত হয়, এটা ENV বা শেল নির্দিষ্ট কাপড় (দ্বারা প্রভাবিত হতে পারে ~সম্প্রসারণ) অথবা মালিকানা এবং অনুমতি কাপড় বা ...
আলী

2
তাহলে কেন একই কমান্ড দিয়ে প্রতি মিনিটে নতুন ক্রোন জব রান করবেন না?
প্রিয় 12

13
ঠিক এইভাবেই আমি শেষ করেছিলাম, তবে আমি ভাবলাম ক্রোনকে বলার উপায় আছে কিনা আপনি job নম্বরের চাকরিতে পরীক্ষা চালাতে চান! নিশ্চয়ই অন্যরাও এই সমস্যাটি / অনুরোধ / ইচ্ছার আগে হয়েছিল!
আলী

4
গুগলের মাধ্যমে দৃশ্যের খুব দেরি হলেও ফেভাদির জবাব সম্পর্কে সমস্ত কিছু ভুল ছিল। এটি স্পষ্ট ছিল যে তিনি ক্রোন থেকে পরীক্ষা করতে চেয়েছিলেন এবং ক্রোনট্যাব সম্পাদনা না করে বিশেষভাবে এটি করার জন্য। কেউ যদি আপনার ব্যবহারের বিষয়টি বোঝার চেষ্টা না করে তবে আপনি কী চান তা ভুল বলার চেয়ে খারাপ এটি।
HörmannHH

উত্তর:


32

যতদূর আমি জানি যে সরাসরি করার কোনও উপায় নেই কারণ ক্রোনটির একটি বিশেষ উদ্দেশ্য রয়েছে - একটি নির্দিষ্ট সময়ে চলমান শিডিউল কমান্ড। সুতরাং সেরাটি হ'ল ম্যানুয়ালি ক্রন্টব এন্ট্রি তৈরি করা বা একটি স্ক্রিপ্ট লিখে যা পরিবেশকে সরিয়ে দেয় এবং পুনরায় সেট করে।


57

আপনি ক্রন্টবটকে নিম্নলিখিত কমান্ড দিয়ে চালাতে বাধ্য করতে পারেন:

run-parts /etc/cron.daily

9
... এই ধারণায় যে ওপি-র ক্রোন জব (3 বছর আগে জিজ্ঞাসা করা হয়েছিল) ক্রোন.ডাইলে রয়েছে কোনও পৃথক ক্রন্টাবের বিপরীতে।
জেফ শ্যাচলার

18
এটি ক্রোন ব্যবহারকারীর পরিবেশটিকে পুরোপুরি অনুকরণ করে না, সুতরাং আপনার সম্ভবত ত্রুটি রয়েছে এমন সম্ভাবনা রয়েছে কারণ একবার আপনি যখন আপনার স্ক্রিপ্টটিকে প্রকৃত ক্রোন কাজ হিসাবে চালনা করেন তখন আপনার প্যাথ এবং অন্যান্য এনভায়াররা আপনার ব্যবহারকারীর চেয়ে আলাদা হতে পারে run-parts /etc/cron.daily। আমি এখনই এই বাগের সাথে লড়াই করছি, কারণ আমার স্ক্রিপ্টটি ঠিকঠাক চলবে run-partsতবে ব্যর্থ হয় যখন ক্রোন ব্যবহারকারীর অধীনে চলে।
আর্টহেয়ার

42

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


লিঙ্ক থেকে অংশ:


পদক্ষেপ 1 : আমি এই লাইনটি অস্থায়ীভাবে ব্যবহারকারীর ক্রন্টবায় রেখেছি:

* * * * *   /usr/bin/env > /home/username/tmp/cron-env

তারপরে ফাইলটি লেখা হয়ে গেলে এটি বের করে ফেলল।

পদক্ষেপ 2 : নিজেকে সামান্য চালানো-হিসাবে ক্রোন বাশ লিপিটি তৈরি করুন:

#!/bin/bash
/usr/bin/env -i $(cat /home/username/tmp/cron-env) "$@"

সুতরাং, প্রশ্নে ব্যবহারকারী হিসাবে, আমি সক্ষম ছিল

run-as-cron /the/problematic/script --with arguments --and parameters

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