カテゴリー「Linux」の6件の記事

Syslogにメッセージを記録するコマンド

シェルスクリプトから、Syslogにメッセージを記録するには
loggerコマンドが利用できる。

使い方:
logger [-is] [-f ファイル] [-p 優先度] [-t タグ] [-u ソケット] [ メッセージ ... ]

# man logger

名前
     logger - syslog(3) システムログモジュールの
     シェルコマンドインターフェース

書式
     logger [-isd] [-f file] [-p pri] [-t tag] [-u socket] [message ...]

説明
     logger はシステムログにエントリを作成する。
     logger は syslog(3) システムログモジュールのシェルコマンドインタ
     ーフェースを提供する。

     オプション:

     -i       各行に logger プロセスのプロセス ID を記録する。

     -s       システムログに記録したメッセージを標準エラー出力にも出力
              する。

     -f file  指定したファイルの内容を記録する。

     -p pri   メッセージを指定した優先度 (priority) で登録する。優先度
              は数値もしくは ‘‘機能分類.重要度’’ の組で指定する。
              例えば、‘‘-p local3.info’’ は、重要度 informational
              機能分類 local3 としてメッセージを記録する。
              デフォルトは ‘‘user.notice’’ である。

     -t tag   ログを出力する各行に、指定した tag を共に記録する。

     -u sock  組み込みの syslog ルーチンの代わりに sock で指定された
              ソケットに出力する。

     -d       このソケットへのストリーム接続ではなく、データグラムを
              使う。

     --       引数の終わり。 message をハイフン (-) で始められるように
              する。この機能はオリジナルの BSD logger コマンドにはない。
              GNU 拡張である。

     message  log ファイルに書き込むメッセージ。これが指定されず、
              かつ -f オプションも指定されなかった場合は、標準入力から
              の入力が記録される。

     logger ユーティリティは成功した場合 0 を返し、エラーの場合は
     0 より大きい値を返す。

     指定できる機能分類名は以下の通り:auth, authpriv (機密に関わる種類
     のセキュリティ情報), cron,daemon, ftp,kern, lpr, mail, news,
     security (auth の同義語。使わない方が良い), syslog, user, uucp
     と、 local0 ~ local7。

     指定できる重要度は以下の通り: alert, crit, debug, emerg, err,
     error (err の同義語。使わない方が良い), info, notice, panic
     (emerg の同義語。使わない方が良い), warning, warn (warning の
     同義語。使わない方が良い)。これらの重要度の優先順位と意図する
     目的については、 syslog(3) を参照すること。


           logger System rebooted

           logger -p local0.notice -t HOSTIDM -f /dev/idmc

関連項目
     syslog(3), syslogd(8)

準拠
     logger コマンドは IEEE Std 1003.2 (“POSIX.2”) 互換のはずである

| | トラックバック (1)

bashのhistoryを削除する方法

bashのhistoryを削除するには以下のコマンドを実行する

$ history -c

bashマニュアルより
  -c     Clear the history list by deleting all the entries.

| | コメント (0) | トラックバック (0)

改行コードについて

OS別改行コード

表. OS別改行コード

改行コード Hex C言語 採用OS/アプリ
CR+LF 0d 0a \r\n Windows / DOS
LF 0a \n Unix / Macintosh OS X 以降
CR 0d \r Macintosh OS 9 以前

※CR Carriage Return
タイプライターのキャリッジを左端に戻す
   (現在の入力位置を行頭(左端)に戻す)

※LF Line Feed
行送り (入力位置を一行進める)

■UNIXでの改行コード変換方法

・コマンド
    $ dos2unix  (DOS形式からUNIX形式への変換)
    $ unix2dos  (UNIX形式からDOS形式への変換)

・Perlを用いた処理

UNIX → Windows

$ perl -pe 's/\n/\r\n/' unixfile > winfile

UNIX → Macintosh

$ perl -pe 's/\n/\r/' unixfile > macfile

Win → UNIX

$ perl -pe 's/\r\n/\n/' winfile > unixfile

Windows → Macintosh

$ perl -pe 's/\r\n/\r/' winfile > macfile

Macintosh → UNIX

$ perl -pe 's/\r/\n/g' macfile > unixfile

Macintosh → Windows

$ perl -pe 's/\r/\r\n/g' macfile > winfile

| | コメント (0) | トラックバック (0)

LinuxでNICリンクアップ/ダウン表示及びSpeedとDuplex設定

Linuxは
ifconfigコマンドだけではNICのLink up/downの判断や
Speed,DuplexがAuto-Negoの結果どうなったのかが
わからない。そんなときはmii-toolコマンドで調査可能。
但し、実行にはroot権限が必要。

mii-toolコマンド

例1:eth0とeth1のNICが装着されたLinuxでmii-toolを実行

# mii-tool
eth0: no link
eth1: negotiated 100baseTx-FD flow-control, link ok

上記結果により
    eth0がLink Down
    eth1がAuto-Nego結果100M/FDでLink up
が確認できる。

例2:eth0のNICが装着されたLinuxでmii-toolを
     verboseモードで実行

# mii-tool -v
eth0: negotiated 100baseTx-FD, link ok
  product info: vendor 00:08:18, model 22 rev 2
  basic mode:   autonegotiation enabled
  basic status: autonegotiation complete, link ok
  capabilities: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
  advertising:  100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control
  link partner: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD

例3:eth0のNICが装着されたLinuxでmii-toolを
     verboseモードで実行(-vvで更に詳細表示)

# mii-tool -vv
eth0: negotiated 100baseTx-FD, link ok
  registers for MII PHY 1:
    1000 796d 0020 6162 05e1 41e1 0005 2001
    0000 0300 0000 0000 0000 0000 0000 3000
    0000 0300 0000 0000 0000 0068 0000 0003
    7077 8514 0000 ffff 0000 03ec 8000 0000
  product info: vendor 00:08:18, model 22 rev 2
  basic mode:   autonegotiation enabled
  basic status: autonegotiation complete, link ok
  capabilities: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
  advertising:  100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control
  link partner: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD

その他、manコマンドで詳しく表示できるが
Auto-Negoの解除及びSpeedとDuplexの固定設定が可能。

「man_mii-tool.txt」をダウンロード

関連コマンド:ethtool

| | コメント (0) | トラックバック (0)

OpManagerをchkconfig(/etc/init.d)で制御可能にする方法

参考:http://forums.adventnet.com/viewtopic.php?p=11819

1. opmanager.txt ファイルをダウンロードして /etc/init.d へ置く
  その後、mvで名前変更

    #mv /etc/init.d/opmanager.txt /etc/init.d/opmanager

2. ファイルを開きMDIR変数をインストールしたディレクトリに変更する。
  デフォルトでは/opt/AdventNet/ME/OpManager にインストールされるはず。

    #vi opmanager

    MDIR=/opt/AdventNet/ME/OpManager/bin
    or MDIR=/yourinstalldir

3. 実行可能なパーミッションへ変更する。

    #chmod 755 /etc/init.d/opmanager

4. chkconfigコマンドで登録する。

    #chkconfig --add opmanager

注:opmanager.txt内の「~M」(CTRL+V,CTRL+M)のキャラクタを
  削除する必要があるかも。

    削除用のrmcntrlm.txt(.sh)も「~M」の削除必要あり。
    (なんじゃそら?でも、このスクリプトを利用したほうが楽)

    #rmcntrlm.sh opmanager

その他:
    vim -b filenameで「~M」(CTRL+V,CTRL+M)のキャラクタ存在確認が可能。

注意事項:
  opmanager.txtではopmanagerの停止のために管理者のIDとパスワードを
  平文で登録する必要があるようです。

  デフォルトではadmin/adminが登録されていますので
  管理者IDの変更を行った場合にはこちらにも反映させる必要があります。

> opmanager.txt

sh ShutDownOpManager.sh admin admin >>/var/log/opmanager.log 2>&1

「opmanager.txt」をダウンロード

「rmcntrlm.txt」をダウンロード

| | コメント (0) | トラックバック (0)

CentOS3.7を利用したPPPoEサーバの構築

1.rp-pppoeのインストール

# yum install rp-pppoe

2./etc/ppp/pppoe-server-optionsの編集

# PPP options for the PPPoE server
# LIC: GPL
require-pap
login
lcp-echo-interval 10
lcp-echo-failure 2

loginの項目はUNIX認証のためのようなので
今回は無効化する。

# PPP options for the PPPoE server
# LIC: GPL
require-pap
#login
lcp-echo-interval 10
lcp-echo-failure 2

3.papの登録

pap認証のユーザ名、パスワードを登録する。
vi  /etc/ppp/pap-secrets

# Secrets for authentication using PAP
# client        server  secret                  IP addresses
####### redhat-config-network will overwrite this part!!! (begin) ##########
####### redhat-config-network will overwrite this part!!! (end) ############
"test1" * "testpwd1" 1.1.1.2
"test2" * "testpwd2" 1.1.1.3

ここでtest1はユーザ名、testpwd2はパスワード、
1.1.1.2は割当てるIPアドレス(/32)である。

4.ip_forwardの有効化

pppoeクライアント同士の通信を可能にするために
/etc/sysctl.confを編集

# Controls IP packet forwarding
#net.ipv4.ip_forward = 0
net.ipv4.ip_forward = 1

その後、
#service network restart
で有効化

5.インターフェースの準備

PPPoEサーバを起動されるインタフェースにはIPアドレスを
割当ててはいけないため、次のコマンドでIPアドレスを削除

# ifconfig eth0 0.0.0.0 up

6.PPPoEサーバの起動

pppoeサーバをeth0で有効化し、IPアドレスを1.1.1.1とする。

# pppoe-server -I eth0 -L 1.1.1.1
※pppoeなのでサーバのIPアドレスは1.1.1.1でなくても
2.2.2.2などでも良い。

7.PPPoEクライアントで動作確認

pppoeクライアントで認証成功すればO.K

| | コメント (0) | トラックバック (0)