[英]Error: EACCES when writing file using Node.js
嘗試運行寫入JSON文件的cron作業時遇到錯誤。
這是我的節點文件中的代碼:
var request = require('request');
var fs = require('fs');
var url = "file url";
request.get(url, function(err, response, data) {
if (err || response.statusCode != 200) {
console.log('Error: ' + err);
return;
}
var json = JSON.parse(data);
var processed_json = JSON.stringify(transformJSON(json));
fs.writeFile(__dirname + "/my_data.json", processed_json,
function(err) {
if (err) {
console.log(err);
}
});
});
cron作業給出的錯誤是:
{ [Error: EACCES, open '.../my_data.json']
errno: 3,
code: 'EACCES',
path: '.../my_data.json' }
我的crontab中的行是:
* * * * * node web_scripts/converter.js
任何幫助將不勝感激!
我在Mac(小牛)上進行了測試,它對我有用。 crontab運行,我在腳本所在的文件夾中獲取my_data.json。
cron作業很可能無權寫入腳本所在的web_scripts
。 通常,您可以檢查/ var / log / mail / $ YOURUSER以查看任何cron結果。
這是我通常設置cron作業的方式:
touch ~/.crontab
vi ~/.crontab # add your cronjob
crontab ~/.crontab
現在,您可以跟蹤日志並確保其運行,然后檢查郵件以獲取結果。 同樣,這聽起來像是權限問題。 您也可以嘗試臨時寫入每個人也有完整權限的路徑,例如/tmp
,而不用__dirname
解析路徑。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.