logadm
Solaris 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
。
-r
logadm のオプションにより、指定されたログ名が 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
ビンゴ!