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

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

新規登録して質問してみよう
ただいま回答率
85.35%
bash

bash(Bourne-again-Shell)は sh(Bourne Shell)のインプリメンテーションに様々な機能が追加されたシェルです。LinuxやMac OS XではBashはデフォルトで導入されています。

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

cron

cronは、Unix系OS上でデーモンプロセスとして動作する、スクリプトの自動実行が可能なジョブスケジューラです。

シェル

シェル(shell)はUnix や Linux 系のOSで使用されるコマンドインタプリタを指します。

Q&A

解決済

1回答

2221閲覧

一般ユーザーのCRONに登録したシェルが最後まで実行されない

pond

総合スコア350

bash

bash(Bourne-again-Shell)は sh(Bourne Shell)のインプリメンテーションに様々な機能が追加されたシェルです。LinuxやMac OS XではBashはデフォルトで導入されています。

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

cron

cronは、Unix系OS上でデーモンプロセスとして動作する、スクリプトの自動実行が可能なジョブスケジューラです。

シェル

シェル(shell)はUnix や Linux 系のOSで使用されるコマンドインタプリタを指します。

0グッド

1クリップ

投稿2020/03/09 03:47

事象

一般ユーザーのCRONに登録したシェルが最後まで実行されない、
後述のシェル最後の行のmailコマンドが実行されてない様子。

ご教示のほど、宜しくお願いいたします。

シェル実行ユーザー:vuls CRONで実行するシェル:/home/vuls/vulscheck.sh シェルの権限・所有者・オーナー: -rwxr-xr-x 1 vuls vuls 907 3月 6 21:07 vulscheck.sh

確認したこと

・シェルが手動実行できること
・シェルの権限・所有者・オーナーが前述の状態になってること
・cronが登録されてること

[vuls@example ~]$ crontab -l 5 6 * * * /home/vuls/vulscheck.sh > /dev/null 2>&1

・cronが動作してること、/var/log/cronで下記証跡有

Mar 7 06:05:01 vuls-sakura CROND[1628]: (vuls) CMD (/home/vuls/vulscheck.sh > /dev/null 2>&1)

環境

OS : CentOS Linux release 7.7.1908 (Core)
shell: bash

シェル記述内容

#!/bin/bash # CVE(NVD)アップデート # 新規作成 #go-cve-dictionary fetchnvd -last2y -dbpath=$HOME/cve.sqlite3 # 差分更新 go-cve-dictionary fetchnvd -latest -dbpath=$HOME/cve.sqlite3 # CVE(JVN)アップデート # 新規作成 #go-cve-dictionary fetchjvn -last2y -dbpath=$HOME/cve.sqlite3 # 差分更新 go-cve-dictionary fetchjvn -lastest -dbpath=$HOME/cve.sqlite3 # OVAL構築 goval-dictionary fetch-redhat -dbpath=$HOME/oval.sqlite3 5 6 7 8 goval-dictionary fetch-debian -dbpath=$HOME/oval.sqlite3 7 8 9 10 goval-dictionary fetch-ubuntu -dbpath=$HOME/oval.sqlite3 12 14 16 18 goval-dictionary fetch-alpine -dbpath=$HOME/oval.sqlite3 3.5 3.6 3.7 3.8 3.9 3.10 # GOST構築 gost fetch redhat  gost fetch debian # EXPLOITDB構築 go-exploitdb fetch exploitdb --deep # スキャン/JSON出力/メール送信 vuls scan && vuls report -lang=ja -format-full-text -format-json -to-email

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

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

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

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

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

over

2020/03/09 05:05

「vuls scan」で失敗している可能性はないのでしょうか?あと、環境変数の設定なしで該当コマンド群は実行できているのでしょうか? リダイレクトでテキストに出力してみれば状況がわかるのではないでしょうか?
pond

2020/03/09 05:12 編集

ありがとうございます、確認いたします。
otn

2020/03/09 06:20

> 5 6 * * * /home/vuls/vulscheck.sh > /dev/null 2>&1 エラーが想定されるのに、何故メッセージを見ようとしないの??
otn

2020/03/09 06:23

> シェル最後の行のmailコマンド とは? vuls report -lang=ja -format-full-text -format-json -to-email のことを指していますか?
pond

2020/03/09 07:11

>vuls report -lang=ja -format-full-text -format-json -to-email >のことを指していますか? はい。 cronを以下に修正しましたが、result.txtへ何も出力されてないのでシェルが動いてないんだと思います。 手動では実行できるので環境変数の問題みたいです。 <cronの設定> PATH=/usr/bin:/usr/sbin:/home/vuls 0 15 * * * /home/vuls/vulscheck.sh >> /home/vuls/result.txt
otn

2020/03/09 07:14

それだとエラーメッセージが書かれないので、 0 15 * * * /home/vuls/vulscheck.sh >> /home/vuls/result.txt >&1 ですね。
pond

2020/03/09 08:29

ありがとうございました。環境変数に/home/vuls/go/binを追加し、以下のcron設定で動作いたしました。 PATH=/usr/bin:/usr/sbin:/home/vuls:/home/vuls/go/bin 20 17 * * * /home/vuls/vulscheck.sh >> /home/vuls/result.txt >&1
guest

回答1

0

自己解決

ありがとうございました。環境変数に/home/vuls/go/binを追加し、以下のcron設定で動作いたしました。
PATH=/usr/bin:/usr/sbin:/home/vuls:/home/vuls/go/bin
20 17 * * * /home/vuls/vulscheck.sh >> /home/vuls/result.txt >&1

投稿2020/03/09 08:30

pond

総合スコア350

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問