• ベストアンサー

lastコマンドの結果が更新されない

OSは、Solaris2.6(SPARC)です。 lastコマンドをたたくと、 毎日使っているにもかかわらず、一番新しいものが、 root pts/1 192.168.1.1 Fri Mar 26 19:16 - 19:16 (00:00) と、はるか昔のものしか出でません。 何度lastをたたいても、更新されません。 ちなみに、/var/adm/wtmp、/var/adm/wtmpx は 更新されています。(ls -lで確認) 原因と対処方法(どちらかだけでもかまいません)を よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

ログインやログアウトするたびに /var/adm/wtmp ファイルが増加しているこ とは確認されていますか? last する前と後で、ls -lu してみて、参照時刻が変わるかどうか確認してみ てください。last することで現在時刻がセットされるようでしたら、一応 /var/adm/wtmp をちゃんと読みに行っていることが確認できます。 もし読んでないようなら last -f /var/adm/wtmp としてみてください。 それから、wtmp ファイルが壊れていて、うまく読めてない可能性もあるので、 必要ならどこかにバックアップしてから、サイズを 0 にしてから始めてみて ください。 あとは、last コマンドがおかしいかですね。システムの標準の last コマン ドが使われてない場合もそうですし、外部からの侵入者が last コマンドを取 り替えて出て行ったという可能性も考慮した方がいいでしょう。

torigomoku
質問者

お礼

お礼が遅くなってしまってスミマセン。 お答えいただいたものを一通りやってみた結果 どうもwtmpファイルがおかしかったらしく、 新規に作成したらうまく表示されるようになりました。 ありがとうございました。

関連するQ&A

  • suコマンドのログ

    Solarisでは、suコマンドを使用したログが/var/adm/sulogに記録されますが、Linuxでは同様のログはどのファイルに記録されるのでしょうか? それとも、そういったログを記録する機能はないのでしょうか? ご教授お願い致します。

  • solaris7でのcompress

    いつもお世話になっております。 solaris7のcompressコマンドについて質問です。 compressに -f のオプションをつけても、戻り値が2で返ってきてしまいます。(圧縮したファイルが圧縮前のファイルより容量が大きい場合)。 manでcompressコマンドを確認しても、オプションで -f を使用した場合は、戻り値が2で返ってくることはなさそうなんですが・・・・・。 > ls -l file.txt -rw-r--r-- 1 zz001 zz001 0 Mar 24 21:06 file.txt > > compress -cf file.txt > file.txt.Z > > echo $? 2 > > ls -l -rw-r--r-- 1 zz001 zz001 0 Mar 24 21:06 file.txt -rw-r--r-- 1 zz001 zz001 3 Mar 24 22:12 file.txt.Z  ちなみにwhichコマンドで/usr/bin/compressでした。  Solaris8では同様の処理をすると戻り値は0でしたが、どうにもわかりません。solaris7特有の動きなのでしょうか?

  • loggerコマンドでkern.warningを出力させたい

    loggerコマンドでkern.warningを出力させたい Solaris8,9で、/etc/syslog.conf には、 *.err;kern.warning /var/adm/messages などと設定しました。 kern.warningを追記したので設定を確認しようと rootにて logger -p kern.warning "TEST" を 実行しても出力されません。 logger -p kern.error "TEST" とすると、 Jun 15 13:50:45 host foo: [ID 702911 user.error] TEST となって、facilityがuserになってしまうようです。 kern.warningをloggerコマンドで出力する方法をご存知ないでしょうか。

  • Linux の shell プログラミングについて

    すみません、どなたがご存じでしたら教えてください。 Linux の shell プログラミングですが、 実行するコマンドをそのまま表示する良い方法が無いでしょうか? 現在は実行するコマンドをechoで書いています。 たとえば次のような感じです。 #!/bin/bash var1=/etc echo 'ls -l $var1 | wc -l' ls -l $var1 | wc -l 結果 ls -l $var1 | wc -l 205 でも(echoで)同じ内容を2行書きたくないので いろいろ調べて次のようにしてみました。 #!/bin/bash var1=/etc set -x ls -l $var1 | wc -l set +x 結果は + ls -l /etc + wc -l 205 + set +x 思ったようになりませんでした。 他に良い方法が何かありますでしょうか? よろしくお願いいたします。

  • Solaris10でのreadコマンドについて

    Solaris10を使用しています。 コマンドの実行結果をそのまま変数として使用するために 以下のスクリプトを実行したところ・・ -------------------- #!/bin/sh read a b c <<EOF `ls -l aaa.log` EOF echo $a echo $b echo $c -------------------- 「ls -l aaa.log」の結果は、-rw-r--r-- 1 root root 211 1月 13 11:58 aa.log となるので $a=-rw-r--r-- $b=1 $c=root という結果を期待していたのですが、「/tmp/sh*** cannot open!」とエラーとなってしまいます。***は任意の数字です。 /tmpには上記で cannot open! となった「sh***」よりひとつ若い番号のファイルが作成され、 中は「ls -l aaa.log」の結果が記載されていました。 CentOS5.2、Cygwinでは期待した結果が得られたのですが、SolarisではNGでした。 何かSolaris特有の問題でもあるのでしょうか?ご教示願います。

  • viコマンドについて

    OS:solaris10(SPARC版) 質問: あるテキストファイルをviコマンドで開いてある文字だけを削除したい場合どのようにしたらいいのですか?ご教授をお願いします。 例えば: /mnt/export/home/a/b/c /mnt/export/home/d/e/f /mnt/export/home/g/h/i /mnt/export/home/j/k/l 上記4つのなかで/mnt/export/home/だけを削除したいです。

  • lnコマンドについて(シンボリックリンクの変更)

    lnコマンドについて、 シンボリックリンクのリンク先を変更しようと思いましたが、変更がうまく出来ませんでした。 実行したコマンド:ln -s logs /export/home/log/s001/logs (現状 )/var/log/s001/logs ↓ (変更先)/export/home/log/s001/logs 何が原因でしょうか? またエラーが発生しなかったのですが、どこかおかしく設定変更されてしまっている可能性はありますか? よろしくお願いいたします。 # ls -l lrwxrwxrwx 1 root other 27 4月 5日 2005年 logs -> /var/log/s001/logs # # # ln -s logs /export/home/log/s001/logs # # # ls -l lrwxrwxrwx 1 root other 27 4月 5日 2005年 logs -> /var/log/s001/logs # #

  • HP-UXのlsコマンドで日時書式を統一する方法

    一般的にUNIX系OSで ls -l コマンド実行した場合6ヶ月以上前に修正したファイルは、 時刻までは出力されません。 下記のような表示になってしまします。 # ls -l foo -rwxr-x--- 1 root root 3223 Nov 10 2004 foo このようなとき Linux だと 下記のようにlsコマドを実行するとファイルの修正日時に関わらず "YYYY/MM/DD HH:MI:SS"形式で表示してくれます。 ls -al --time-style=+'%Y/%m/%d %H:%M:%S' Solarisの場合でも ls -E コマンドを使えば、同じようなことができそうです。 しかし、HP-UXのlsコマンドの場合は、--time-style や -E オプションが使えません。 何か良い方法はないでしょうか? ls でなくとも ファイルのタイムスタンプが "YYYY/MM/DD HH:MI:SS"形式で取得できまれば、方法は問いません。

  • ファイル更新日付の改変を確認したい

    UNIX システム上で勝手にファイルを更新されていない事を確認したいと考えています。 通常であれば ls -l で更新日付を取得すれば問題ないと考えています。 加えて、ユーザが touch -t 等のコマンドを用いて更新日付を改変していないかを確認したいです。 更新日付を改変されていない事を確認する手立ては無いでしょうか。

  • execからのls grepコマンドについて

    PHPで階層になっているディレクトリ名をすべて取得するプログラムを作成しています。 ディレクトリ数、ファイル数が非常に多いので動作速度向上のためにlinuxコマンドで取得するために以下の命令を記述しました。 exec("ls -l | grep '^d' ./hogehoge/hugahuga/",$aDir); var_dump($aDir); これを実行しても $aDirに値が入りません。 どうすれば望みどおりの結果になるでしょうか。

    • 締切済み
    • PHP