आपका आदेश विफल होने का सबसे संभावित कारण यह है कि आपने MySQL के लिए एक पूर्ण पथ प्रदान नहीं किया है। इसे इस तरह से करें
/path/to/mysql -uderp_example -pexample -hlocalhost -Dexample -e"TRUNCATE TABLE juice box"
^^^^^^^^
इसे ठीक काम करना चाहिए।
ऐसा इसलिए है क्योंकि क्रॉन एक ऐसे खाते के तहत निष्पादित होता है जिसमें या तो पाथ परिभाषित नहीं होता है या इसमें MySQL का पथ शामिल नहीं होता है।
अब एक और विकल्प है - MySQL ईवेंट
CREATE EVENT update_date_column
ON SCHEDULE EVERY 1 HOUR STARTS NOW()
DO TRUNCATE TABLE juicebox;
यदि आप किसी ईवेंट दृष्टिकोण के साथ जाने का निर्णय लेते हैं:
- उपयोग
SHOW EVENTS
बनाई गई घटनाओं को उनकी विशेषताओं के साथ सूचीबद्ध करने के लिए (उदा.status
) - उपयोग
SHOW PROCESSLIST
यह जाँचने के लिए कि क्या ईवेंट शेड्यूलर सक्षम है। यदि यह चालू है तो आपको एक प्रक्रिया दिखाई देगी "Daemon
" उपयोगकर्ता द्वारा "event_scheduler
". SET GLOBAL event_scheduler = ON;
का उपयोग करें शेड्यूलर को सक्षम करने के लिए यदि यह वर्तमान में सक्षम नहीं है।- इवेंट शेड्यूलर को कॉन्फ़िगर करने पर अधिक यहां