solaris + logadm コマンド

solaris + logadm コマンド

logadmSolaris 10 マシンで実行すると、次のようになりますexe status - 1

私の目標は、次のコマンドを実行することですexe status - 0

logadmを成功させて を取得するには何をする必要がありますかexe status – 0?

  star1a:/ ROOT > /usr/sbin/logadm -rv hw-alarms_2
  # loading /etc/logadm.conf
  # processing logname: hw-alarms_2
  # /etc/logadm.conf unchanged


  star1a:/ ROOT > echo $?
  1

答え1

ログ名が定義されていない場合はhw-alarms_2、使用しているコマンドで終了ステータス 0 を取得できません。

あなたの命令

logadm -rv hw-alarms_2

hw-alarms_2/etc/logadm.conf ファイルからログ名に対応するエントリを削除するように要求しています。

の終了ステータスは、1エラーが発生したことを示しています。詳細出力には と表示されていますが/etc/logadm.conf unchanged、これはログ名が定義されていないことが原因である可能性が高いですhw-alarms_2


-rlogadm のオプションにより、指定されたログ名が logadm.conf から削除されることをご存知ですか?

-r

指定されたログ名に対応するエントリを /etc/logadm.conf から削除します。

したがって、一度コマンドを正常に実行すると、ログ名を変更して削除するか、元のログ名を戻さない限り、再度コマンドが実行されることはありません。

例えば、logadm.confにエントリを追加する

logadm -C2 -w mylog /my/really/long/log/file/name

消して

logadm -rv mylog
# loading /etc/logadm.conf
# processing logname: mylog
# writing changes to /etc/logadm.conf
echo $?
0

もう一度削除してみてください

logadm -rv mylog
# loading /etc/logadm.conf
# processing logname: mylog
# /etc/logadm.conf unchanged
echo $?
1

以前に削除してしまったのでできません。もう一度追加してみましょう

logadm -C2 -w mylog /my/really/long/log/file/name

そしてまた削除する

logadm -rv mylog
# loading /etc/logadm.conf
# processing logname: mylog
# writing changes to /etc/logadm.conf
echo $?
0

ビンゴ!

関連情報