簡體   English   中英

錯誤:使用Node.js寫入文件時出現EACCES

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM