লিনাক্স: প্রদত্ত ডিরেক্টরিতে একটি কমান্ড কিভাবে চালানো যায়


16

আমি কেবল একটি ক্রোন কাজ হিসাবে একটি প্রদত্ত ডিরেক্টরি থেকে একটি কমান্ড (আসলে এটির একটি শেল স্ক্রিপ্ট) চালাতে চাই। আমি কীভাবে এটি চালাতে পারি যাতে এটি ব্যবহার না করে কোনও প্রদত্ত ডিরেক্টরিতে সেট করা থাকে cd

উত্তর:


16

আপনার প্রশ্নটি সামান্য বোঝায়। ব্যবহার cd। আপনি যদি উত্তরটি ব্যবহার না করার জন্য জিজ্ঞাসা করেন cdকারণ আপনি এটি ব্যবহার করে দেখেছেন এবং এটি কার্যকর হয়নি, সম্ভবত আপনি এটি ক্রন্টবে সঠিকভাবে প্রবেশ করেন নি।

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


1
ক্রন্টব আমাকে এক কাজের ভিতরে একাধিক কমান্ড রাখতে দেবে? যদি না হয় তবে আমাকে সিডি [পথ] হার্কোড করতে হবে । এবং পথটি পরিবর্তিত হতে পারে, এইভাবে সত্যই বিরক্তিকর স্থাপনার সমস্যা সৃষ্টি করে এবং বিকেন্দ্রীকরণের কনফিগারেশনটি যা আমি একেবারে মূল্য এড়াচ্ছি is
জোম্বস

1
@ জম্বিগুলি: হ্যাঁ, আপনি একটি কাজের ভিতরে একাধিক কমান্ড রাখতে পারেন (যেমন সেমিকোলনগুলি দিয়ে তাদের আলাদা করা বা &&), তবে আপনি পৃথক স্ক্রিপ্টও লিখতে পারেন যাতে সমস্ত কমান্ড থাকে এবং ড্যানিথের পরামর্শ অনুসারে কেবল ক্রোনটিতে স্ক্রিপ্টের পথ রাখতে পারে। আপনার স্ক্রিপ্টটি যদি আপনি চান তবে একটি কনফিগারেশন ফাইল থেকে ডিরেক্টরি পড়ার মতো কিছু করতে পারে - বিন্দুটি হল, তবে আপনি নিজের স্ক্রিপ্টে ডিরেক্টরিটির নাম পেতে চান, এটি ব্যবহার না করার কোনও অজুহাত নয় cd
ডেভিড জেড

আমি দেখি. আমি ক্রন্টবটিতে সরাসরি সিডি ব্যবহার করতে চাই যেহেতু আমি যদি এটি কোনও ফাইলে লিখি তবে প্রতিটি ফাইলটিতে এটি সম্পাদনা করতে হবে যা নাজুক / সহজে-বিরতিতে কনফিগারেশন তৈরি করে।
জোম্বস

3
এবং যদি আপনি ক্রন্টব ফাইলটিতে সিডি রাখেন, আপনাকে প্রতিটি ক্রন্টব ফাইলটিতে এটি সম্পাদনা করতে হবে। আমি সমস্যা বুঝতে পারি না। আপনি আরও পুরোপুরি কী করতে চাইছেন তা আপনি ব্যাখ্যা করতে পারেন।
গ্যারিজোহন

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

60

স্ক্রিপ্টের পথটি নির্দিষ্ট করুন। প্রয়োজন নেই cd:

0 12 * * * /path/to/script args

আপনার স্ক্রিপ্টটি ফাইল জন্য দেখায় তাহলে ., তাহলে আপনি হবে ব্যবহার করতে হবে cd:

0 12 * * * cd /some/dir && /path/to/script args


4
&&@ উইলশেপার্ড লিঙ্কের উত্তরে উত্তর হিসাবে যেমনটি হবে তার চেয়ে ভাল হবে ;কারণ &&পূর্ববর্তী কমান্ডটি সফল হলে কেবল পরবর্তী কমান্ড চালায়।
ম্যাক্স হাইবার

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