मैं चाहता हूं कि मेरा सर्वर हर मिनट एक नोड स्क्रिप्ट निष्पादित करे। यदि मैं फ़ाइल को मैन्युअल रूप से निष्पादित करता हूं (./main.js
), तो प्रोग्राम पूरी तरह निष्पादित करता है, इसलिए मुझे पूरा यकीन है कि यह समस्या नहीं है। लेकिन जब मैं इसे निष्पादित करने के लिए क्रॉन पर सौंपता हूं, कुछ भी नहीं होता है।मेरी node.js स्क्रिप्ट निष्पादित क्यों नहीं करेगा?
यहाँ क्रॉन फ़ाइल से लाइन है।
Oct 11 15:21:01 server CROND[2564]: (root) CMD (/home/bryce/scripts/wudu/main.js)
निष्पादन: home/bryce/scripts/wudu/main.js
#!/usr/bin/env node
var program = require('commander');
var v = require('./cli/validation');
var a = require('./cli/actions');
program
.version('0.0.1')
.option('-u, --url', 'Register url')
.option('-s, --selector', 'Register selector')
.option('-p, --pagination', 'Register pagination')
.option('-i, --index', 'Pass an index, to destroy')
.parse(process.argv);
var args = process.argv.slice(2),
mode = v.mode(args[0]),
options = v.hasArgs(mode, program);
a.init(mode, options);
किसी भी विचार क्यों मैं रेडियो चुप्पी हो रही है
*/1 * * * * /home/bryce/scripts/wudu/main.js
और यहाँ एक नमूना लॉग है? कहीं और मुझे डीबग करना चाहिए?
अद्यतन:
मेरा मानना है कि समस्या मेरे रिश्तेदार filepaths के साथ क्या करना है, और main.js अपनी निर्देशिका बाहर से क्रियान्वित किया जा रहा।
तो अब, मैं wudu
निर्देशिका में exe.sh
रखा है। यह इस तरह दिखता है:
#!/bin/bash
cd ${0%/*}
./main.js mail
exit
अब, मैं इस फ़ाइल को हर मिनट पर अमल करने क्रॉन निर्धारित किया है। मैंने इस फ़ाइल को अन्य फ़ोल्डरों से निष्पादित करने का प्रयास किया, और यह अपेक्षा के अनुसार काम करता है। लेकिन फिर, क्रॉन इसे उठा नहीं रहा है।
फ़ाइल पर निष्पादन विशेषाधिकारों की जांच कर सकते हैं। –
जिसने मुझे पहले गड़बड़ कर दिया, लेकिन मैंने पहले से ही तय किया है। हालांकि धन्यवाद। –
रिश्तेदार पथ नाम: 'वर वी = की आवश्यकता होती है ('./ CLI/सत्यापन');' आपका क्रॉन जॉब '/ घर/ब्राइस/scripts/wudu /' निर्देशिका में शुरू नहीं किया है, लेकिन लोक निर्माण विभाग संभवत: है '/ घर/ब्रिस/'जब क्रॉन से बुलाया जाता है। – wildplasser