質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

Q&A

0回答

540閲覧

NASのタスクスケジューラで実行ができない

Izumo1101

総合スコア49

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

0グッド

1クリップ

投稿2020/04/10 09:35

編集2020/04/12 11:31

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

こんな感じで実行はできますがなにやら文句は言われます。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問