質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

解決済

.bash_history のrsyslog転送が行えない

Triceratops225
Triceratops225

総合スコア1

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

2回答

0評価

0クリップ

103閲覧

投稿2022/05/02 09:30

■前提
Linuxサーバのホームディレクトリ上にある「.bash_history」の記載を、別のsyslogサーバに保管することを目的としてます。
その為、下のような設定を行ったのですが、想定通りログ転送が行えておりません。
OSはCent7を使っています

■設定内容
①bash_historyの記載を別ファイルに出力させる
次のようなシェルスクリプトをroot権限で作成しました。

bash

#!/bin/bash history -a awk '{print}' ~/.bash_history >> /var/log/hogehoge.log

その後、cronで日時で実行させるように設定しています。
別途、日時でlogrotateを実行し、3世代保持するようにしています。

②rsyslog設定
/etc/rsyslog.conf 内の記載を次のように変更しました

#(前略) cron.* /var/log/cron local0.* /var/log/hogehoge.log #(中略) local0.* @XXX.XXX.XXX.XXX:514 cron.* @XXX.XXX.XXX.XXX:514

■結果
その後rsyslogをrestartさせ、転送先サーバを確認したのですが、
cronのlogは転送できていましたが、local0としたbash_historyのログが転送させていませんでした。

ネットワーク的な疎通はcronのlogが送付できているため問題なく、また各種エラーログ等も吐かれていませんが、なぜか送付に失敗しています。

①での処理がcronで回しているため、ログの即時性がないのが原因、
もしくは、①での出力内容に問題がある(rsyslog転送できる形式ではない)のではないかと考えているのですが…

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。