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

急ぎでなければ勉強がてら作るのですが、もうしわけありません。

A 回答 (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がありますので。
手元にないのでお送りすることが出来ませんが。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

今、見られている記事はコレ!

おしトピ編集部からのゆる~い質問を出題中

お題をもっとみる


このカテゴリの人気Q&Aランキング

おすすめ情報

カテゴリ