आदमी के अनुसार:
क्रोन डेमॉन आपके होम निर्देशिका से एक उपखंड शुरू करता है। यदि आप लॉग इन नहीं होने पर चलाने के लिए एक कमांड शेड्यूल करते हैं और आप अपनी .profile फ़ाइल में कमांड चलाना चाहते हैं, तो कमांड को आपकी .profile फ़ाइल को स्पष्ट रूप से पढ़ना चाहिए।
क्रोन डेमॉन हर शेल के लिए एक डिफ़ॉल्ट वातावरण की आपूर्ति करता है, गृह, लॉगनेम, शेल (= / usr / बिन / श),
और पथ (= / usr / बिन) को परिभाषित करता है ।
इसलिए क्रोन डेमन को नहीं पता कि php कहां है और आपको पूर्ण php पथ को हाथ से निर्दिष्ट करना चाहिए, उदाहरण के लिए (मुझे आपके वास्तविक PHP पथ का पता नहीं है):
#!/bin/sh
/usr/local/bin/php /home/v/file.php
sh /root/x/some.sh
एक अन्य तरीका उदाहरण के लिए / etc / profile (या आपकी .profile / .bashrc) को स्रोत बनाने के लिए है
* * * * * . /home/v/.bashrc ; sh /home/v/test.sh
यह उपयोगी है यदि आपका .bashrc पर्यावरण चर सेट करता है जिसकी आपको आवश्यकता है (यानी PATH)
संपादित करें
एक दिलचस्प रीडिंग " न्यूबी: इंट्रो टू क्रोन " है, शीर्षक से लेख का मूल्यांकन न करें (यह हर किसी के लिए एक रीडिंग है), वास्तव में यह अच्छी तरह से पूरा लिखा गया है और आपके प्रश्न का पूरी तरह से उत्तर देता है:
...
PATH में वे निर्देशिकाएँ होती हैं जो क्रोन के लिए खोज पथ में होंगी जैसे कि यदि आपको निर्देशिका / usr / cog / bin में कोई प्रोग्राम 'foo' मिला है, तो यह / usr / cog / bin को जोड़ने लायक हो सकता है। पथ, क्योंकि यह आपको 'फू' के लिए पूर्ण पथ का उपयोग करने से रोक देगा, जब भी आप इसे कॉल करना चाहते हैं।
...