JSON 파일을 작성하는 크론 작업을 실행하려고 할 때 오류가 발생합니다.
내 노드 파일 내의 코드는 다음과 같습니다.
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);
}
});
});
크론 작업이 제공하는 오류는 다음과 같습니다.
{ [Error: EACCES, open '.../my_data.json']
errno: 3,
code: 'EACCES',
path: '.../my_data.json' }
내 crontab 내의 줄은 다음과 같습니다.
* * * * * node web_scripts/converter.js
어떤 도움이라도 대단히 감사하겠습니다!
나는 이것을 내 Mac (Mavericks)에서 테스트했으며 나를 위해 작동합니다. crontab이 실행되고 스크립트가있는 폴더에 my_data.json이 있습니다.
대부분의 경우 크론 작업에는 web_scripts
스크립트가있는 곳에 쓰기 권한이 없습니다 . 일반적으로 / var / log / mail / $ YOURUSER를 확인하여 크론 결과를 볼 수 있습니다.
일반적으로 크론 작업을 설정하는 방법은 다음과 같습니다.
touch ~/.crontab
vi ~/.crontab # add your cronjob
crontab ~/.crontab
이제 로그를 추적하고 실행되는지 확인한 다음 메일에서 결과를 확인할 수 있습니다. 다시 말하지만 이것은 권한 문제처럼 들립니다. 경로 /tmp
를으로 해결하는 대신 모든 사람이 전체 파마를 가지고있는 경로에 임시로 쓸 수도 있습니다 __dirname
.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다