• 締切済み

LINUXでログ出力

今、LINUX(RedHat7.0J)でイントラサーバを運用しているのですが 毎日、夜中にログを出力したいと考えています。 ログ内容はログイン失敗ユーザーやディスク容量など運用ログです。 FreeBSDなどはデフォルトで出力するようcrontabにありましたが LINUXの場合ありません。シェルスクリプトを書ければいいのですが 当方書けないため、どなたか作っておられる方、またはツールがあるよ っ方あつかましいお願いですが、教えていただけませんか? 急ぎでなければ勉強がてら作るのですが、もうしわけありません。

みんなの回答

  • masaton
  • ベストアンサー率50% (1/2)
回答No.1

Solarisで使用しているshですが、ほとんど変わりないと思います。 #!/bin/csh set date = `date '+%Y%m%d'` /usr/bin/echo 'Start Auto-Loging ' > /home/log/autolog.$date /usr/bin/date >> /home/log/autolog.$date /usr/bin/echo '' >> /home/log/autolog.$date /usr/bin/echo 'DiskCapacity Check' >> /home/log/autolog.$date /usr/sbin/df -k >> /home/log/autolog.$date /usr/bin/echo '' >> /home/log/autolog.$date /usr/bin/echo 'SWAP Area Capacity Check' >> /home/log/autolog.$date /usr/sbin/swap -s >> /home/log/autolog.$date /usr/bin/echo '' >> /home/log/autolog.$date /usr/bin/echo 'The rate of operations Check' >> /home/log/autolog.$date /usr/bin/uptime >> /home/log/autolog.$date /usr/bin/echo '' >> /home/log/autolog.$date /usr/bin/echo 'Process Check' >> /home/log/autolog.$date /usr/bin/echo '' >> /home/log/autolog.$date /usr/ucb/ps -ax >> /home/log/autolog.$date /usr/bin/echo '' >> /home/log/autolog.$date /usr/bin/echo 'Castomor Check' >> /home/log/autolog.$date /usr/bin/echo '' >> /home/log/autolog.$date /usr/bin/who /var/adm/wtmp >! /home/log/who.log /usr/bin/sleep 1 /usr/bin/tail -25 /home/log/who.log >> /home/log/autolog.$date /usr/bin/echo '' >> /home/log/autolog.$date /usr/bin/echo 'System Log Check' >> /home/log/autolog.$date /usr/bin/echo '' >> /home/log/autolog.$date /usr/bin/tail -50 /var/adm/messages >> /home/log/autolog.$date /usr/bin/echo '' >> /home/log/autolog.$date /usr/bin/echo 'Kernel Loading Check' >> /home/log/autolog.$date /usr/bin/echo '' >> /home/log/autolog.$date /usr/bin/dmesg >> /home/log/autolog.$date /usr/bin/echo '' >> /home/log/autolog.$date /usr/bin/echo '' >> /home/log/autolog.$date /usr/bin/echo '---------End of Auto-Loging --' >> /home/log/autolog.$date /usr/bin/date >> /home/log/autolog.$date /usr/bin/echo '' >> /home/log/autolog.$date /usr/bin/echo '' >> /home/log/autolog.$date 但し、以下のことに気をつける必要があります。 (1)Linuxでswapというコマンドは存在していないはずです。(swaponと言うコマンドのはず)変更する必要があります (2)wtmpの場所が違います。(/var/adm→/var/log)変更する必要があります。 (3)パスが全然違うはずです。恐らく、相対パスでも大丈夫だと思いますので、全てのコマンドパスを消してから動かしてみた方がいいかもしれません。 このコマンドをcrontabで稼動させてあげればいいはずです。 恐らく動くと思います。以下のことをして動いているLinuxがありますので。 手元にないのでお送りすることが出来ませんが。

関連するQ&A