synologyNAS DiskstationDS218
「メーカーに聞けよ」という話なんですが、これが暖簾に腕押しなのでこちらで相談させてください。
nas内の
/volume1/homes/admin/NewChat2/
に
chat.jsというスクリプトを置いています。
こちらをsshでディレクトリをたどり「node chat.js」できちんと実行されることを確認しています。ただこれだとsshでログアウトするとスクリプトが停止するので、タスクスケジュールに登録をしようと思いました。
タスク設定
node /volume1/homes/admin/NewChat2/chat.js
↓
実行
ログで結果を見ると中断になり以下のようなエラーが出ます。
internal/fs/utils.js:220
throw err;
^
Error: ENOENT: no such file or directory, open 'database.json'
at Object.openSync (fs.js:440:3)
at Object.readFileSync (fs.js:342:35)
at Object.<anonymous> (/volume1/homes/admin/NewChat2/chat.js:7:19)
at Module._compile (internal/modules/cjs/loader.js:959:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:995:10)
at Module.load (internal/modules/cjs/loader.js:815:32)
at Function.Module._load (internal/modules/cjs/loader.js:727:14)
at Function.Module.runMain (internal/modules/cjs/loader.js:1047:10)
at internal/main/run_main_module.js:17:11 {
errno: -2,
syscall: 'open',
code: 'ENOENT',
path: 'database.json'
}
database.jsonは同一階層にあるし、そもそもsshで直接たたくとしっかり起動しています。
これは何が原因でしょうか。また解消方法があれば教えてください。
また別件として、新規登録して実行しようとしても「このタスクはまだ実行されていません」とでてスクリプトが起動できません。一度スケジュールを「NAS再起動後」にすると実行した形跡があり、その後上記のエラーで「中断」となっていました。もしこちらも原因が分かればぜひ教えてください。
内容がニッチすぎますね・・・。
ファイルの権限の問題化と思い、chat.jsおよび念のためにdatabase.jsonもchmod 775と実行権限を与えてみましたが変わりませんでした。
階層が若干変わっています。意味はありません。
トリガーが必要かと思い対応してみました。結果やはり中断になりますが、なにかヒントとなることがあればと思い投稿します。
sh
1# trigger.sh 2cd `dirname $0` 3node chat.js
タスク設定
/volume1/homes/administrator/NewChat2/trigger.sh
/volume1/homes/administrator/NewChat2/trigger.sh: line 2: cd: /volume1/homes/administrator/NewChat2 : No such file or directory internal/modules/cjs/loader.js:800 throw err; ^ Error: Cannot find module '/root/chat.js' at Function.Module._resolveFilename (internal/modules/cjs/loader.js:797:15) at Function.Module._load (internal/modules/cjs/loader.js:690:27) at Function.Module.runMain (internal/modules/cjs/loader.js:1047:10) at internal/main/run_main_module.js:17:11 { code: 'MODULE_NOT_FOUND', requireStack: [] }
少し様子が変わりました。
なお、sshでsh trigger.shを実行すると、
ssh
1root@izumo_soshi:/volume1/homes/administrator/NewChat2# sh trigger.sh 2: No such file or directory 3接続開始 1337 4入室したユーザー : undefined 5入室したID : MvSPNQxPwxjyURHXAAAA 6
こんな感じで実行はできますがなにやら文句は言われます。
あなたの回答
tips
プレビュー