一馬力のメモ帳

MVSからLinuxまで。基盤屋さんは眠らない

iostatを使いたい (sysstatパッケージ)

LinuxでI/Oの状況を確認するのに便利なコマンド「iostat」
CentOSを最小構成でインストールすると導入されていない。

iostatコマンドとiostatを含むsysstatのインストールメモ

iostatコマンドを含むパッケージを調べる

[root@centos73 ~]# yum provides iostat
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.tsukuba.wide.ad.jp
 * extras: ftp.tsukuba.wide.ad.jp
 * updates: ftp.tsukuba.wide.ad.jp
sysstat-10.1.5-12.el7.x86_64 : Collection of performance monitoring tools for Linux
リポジトリー        : base
一致          :
ファイル名    : /usr/bin/iostat

sysstatのインストール

[root@centos73 ~]# yum install sysstat
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.tsukuba.wide.ad.jp
 * extras: ftp.tsukuba.wide.ad.jp
 * updates: ftp.tsukuba.wide.ad.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ sysstat.x86_64 0:10.1.5-12.el7 を インストール
--> 依存性の処理をしています: libsensors.so.4()(64bit) のパッケージ: sysstat-10.1.5-12.el7.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ lm_sensors-libs.x86_64 0:3.4.0-4.20160601gitf9185e5.el7 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

========================================================================================================================
 Package                      アーキテクチャー    バージョン                                    リポジトリー       容量
========================================================================================================================
インストール中:
 sysstat                      x86_64              10.1.5-12.el7                                 base              310 k
依存性関連でのインストールをします:
 lm_sensors-libs              x86_64              3.4.0-4.20160601gitf9185e5.el7                base               41 k

トランザクションの要約
========================================================================================================================
インストール  1 パッケージ (+1 個の依存関係のパッケージ)

総ダウンロード容量: 351 k
インストール容量: 1.2 M
Is this ok [y/d/N]: y
Downloading packages:
(1/2): lm_sensors-libs-3.4.0-4.20160601gitf9185e5.el7.x86_64.rpm                                 |  41 kB  00:00:00
(2/2): sysstat-10.1.5-12.el7.x86_64.rpm                                                          | 310 kB  00:00:00
------------------------------------------------------------------------------------------------------------------------
合計                                                                                    1.0 MB/s | 351 kB  00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : lm_sensors-libs-3.4.0-4.20160601gitf9185e5.el7.x86_64                                   1/2
  インストール中          : sysstat-10.1.5-12.el7.x86_64                                                            2/2
  検証中                  : sysstat-10.1.5-12.el7.x86_64                                                            1/2
  検証中                  : lm_sensors-libs-3.4.0-4.20160601gitf9185e5.el7.x86_64                                   2/2

インストール:
  sysstat.x86_64 0:10.1.5-12.el7

依存性関連をインストールしました:
  lm_sensors-libs.x86_64 0:3.4.0-4.20160601gitf9185e5.el7

完了しました!
[root@centos73 ~]#

sysstatに含まれるファイル

[root@centos73 ~]# repoquery sysstat
sysstat-0:10.1.5-12.el7.x86_64
[root@centos73 ~]# repoquery --list sysstat
/etc/cron.d/sysstat
/etc/sysconfig/sysstat
/etc/sysconfig/sysstat.ioconf
/usr/bin/cifsiostat
/usr/bin/iostat
/usr/bin/mpstat
/usr/bin/nfsiostat-sysstat
/usr/bin/pidstat
/usr/bin/sadf
/usr/bin/sar
/usr/bin/tapestat
/usr/lib/systemd/system/sysstat.service
/usr/lib64/sa
/usr/lib64/sa/sa1
/usr/lib64/sa/sa2
/usr/lib64/sa/sadc
/usr/share/doc/sysstat-10.1.5
/usr/share/doc/sysstat-10.1.5/CHANGES
/usr/share/doc/sysstat-10.1.5/COPYING
/usr/share/doc/sysstat-10.1.5/CREDITS
/usr/share/doc/sysstat-10.1.5/FAQ
/usr/share/doc/sysstat-10.1.5/README
/usr/share/doc/sysstat-10.1.5/sysstat-10.1.5.lsm
/usr/share/locale/af/LC_MESSAGES/sysstat.mo
/usr/share/locale/cs/LC_MESSAGES/sysstat.mo
/usr/share/locale/da/LC_MESSAGES/sysstat.mo
/usr/share/locale/de/LC_MESSAGES/sysstat.mo
/usr/share/locale/eo/LC_MESSAGES/sysstat.mo
/usr/share/locale/es/LC_MESSAGES/sysstat.mo
/usr/share/locale/eu/LC_MESSAGES/sysstat.mo
/usr/share/locale/fi/LC_MESSAGES/sysstat.mo
/usr/share/locale/fr/LC_MESSAGES/sysstat.mo
/usr/share/locale/hr/LC_MESSAGES/sysstat.mo
/usr/share/locale/id/LC_MESSAGES/sysstat.mo
/usr/share/locale/it/LC_MESSAGES/sysstat.mo
/usr/share/locale/ja/LC_MESSAGES/sysstat.mo
/usr/share/locale/ky/LC_MESSAGES/sysstat.mo
/usr/share/locale/lv/LC_MESSAGES/sysstat.mo
/usr/share/locale/mt/LC_MESSAGES/sysstat.mo
/usr/share/locale/nb/LC_MESSAGES/sysstat.mo
/usr/share/locale/nl/LC_MESSAGES/sysstat.mo
/usr/share/locale/nn/LC_MESSAGES/sysstat.mo
/usr/share/locale/pl/LC_MESSAGES/sysstat.mo
/usr/share/locale/pt/LC_MESSAGES/sysstat.mo
/usr/share/locale/pt_BR/LC_MESSAGES/sysstat.mo
/usr/share/locale/ro/LC_MESSAGES/sysstat.mo
/usr/share/locale/ru/LC_MESSAGES/sysstat.mo
/usr/share/locale/sk/LC_MESSAGES/sysstat.mo
/usr/share/locale/sr/LC_MESSAGES/sysstat.mo
/usr/share/locale/sv/LC_MESSAGES/sysstat.mo
/usr/share/locale/uk/LC_MESSAGES/sysstat.mo
/usr/share/locale/vi/LC_MESSAGES/sysstat.mo
/usr/share/locale/zh_CN/LC_MESSAGES/sysstat.mo
/usr/share/locale/zh_TW/LC_MESSAGES/sysstat.mo
/usr/share/man/man1/cifsiostat.1.gz
/usr/share/man/man1/iostat.1.gz
/usr/share/man/man1/mpstat.1.gz
/usr/share/man/man1/nfsiostat-sysstat.1.gz
/usr/share/man/man1/pidstat.1.gz
/usr/share/man/man1/sadf.1.gz
/usr/share/man/man1/sar.1.gz
/usr/share/man/man1/tapestat.1.gz
/usr/share/man/man5/sysstat.5.gz
/usr/share/man/man8/sa1.8.gz
/usr/share/man/man8/sa2.8.gz
/usr/share/man/man8/sadc.8.gz
/var/log/sa
[root@centos73 ~]#

sysstatパッケージに含まれるコマンド

[root@centos73 ~]# repoquery --list sysstat | grep bin
/usr/bin/cifsiostat
/usr/bin/iostat
/usr/bin/mpstat
/usr/bin/nfsiostat-sysstat
/usr/bin/pidstat
/usr/bin/sadf
/usr/bin/sar
/usr/bin/tapestat

sysstatパッケージに含まれるコマンド概要

 cifsiostat

[root@centos73 ~]# man cifsiostat | grep -A 1 -E "NAME|SYNOPSIS|DESCRIPTION"
NAME
       cifsiostat - Report CIFS statistics.
--
SYNOPSIS
       cifsiostat [ -h ] [ -k | -m ] [ -t ] [ -V ] [ interval [ count ] ]
--
DESCRIPTION
       The cifsiostat command displays statistics about read and write operations on CIFS filesystems.
[root@centos73 ~]#

 iostat

[root@centos73 ~]# man iostat | grep -A 1 -E "NAME|SYNOPSIS|DESCRIPTION"
NAME
       iostat  -  Report  Central Processing Unit (CPU) statistics and input/output statistics for devices and parti‐
--
SYNOPSIS
       iostat [ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ] [ -j { ID | LABEL |  PATH  |
--
DESCRIPTION
       The iostat command is used for monitoring system input/output device loading by observing the time the devices
[root@centos73 ~]#

 mpstat

[root@centos73 ~]# man mpstat | grep -A 1 -E "NAME|SYNOPSIS|DESCRIPTION"
NAME
       mpstat - Report processors related statistics.
--
SYNOPSIS
       mpstat  [  -A  ] [ -u ] [ -V ] [ -I { SUM | CPU | SCPU | ALL } ] [ -P { cpu [,...] | ON | ALL } ] [ interval [
--
DESCRIPTION
       The mpstat command writes to standard output activities for each available processor, processor  0  being  the
[root@centos73 ~]#

 nfsiostat-sysstat

[root@centos73 ~]# man nfsiostat-sysstat | grep -A 1 -E "NAME|SYNOPSIS|DESCRIPTION"
NAME
       nfsiostat-sysstat  (the  nfsiostat command from the sysstat package) - Report input/output statistics for net‐
--
SYNOPSIS
       nfsiostat-sysstat [ -h ] [ -k | -m ] [ -t ] [ -V ] [ interval [ count ] ]
--
DESCRIPTION
       The nfsiostat-sysstat command displays statistics about read and write operations on NFS filesystems.
[root@centos73 ~]#

 pidstat

[root@centos73 ~]# man pidstat | grep -A 1 -E "NAME|SYNOPSIS|DESCRIPTION"
NAME
       pidstat - Report statistics for Linux tasks.
--
SYNOPSIS
       pidstat  [ -d ] [ -h ] [ -I ] [ -l ] [ -r ] [ -s ] [ -t ] [ -U [ username ] ] [ -u ] [ -V ] [ -w ] [ -C comm ]
--
DESCRIPTION
       The pidstat command is used for monitoring individual tasks currently being managed by the Linux  kernel.   It
[root@centos73 ~]#

 sadf

[root@centos73 ~]# man sadf | grep -A 1 -E "NAME|SYNOPSIS|DESCRIPTION"
NAME
       sadf - Display data collected by sar in multiple formats.
--
SYNOPSIS
       sadf  [  -C  ]  [ -d | -j | -p | -x ] [ -H ] [ -h ] [ -T | -t | -U ] [ -V ] [ -P { cpu [,...] | ALL } ] [ -s [
--
DESCRIPTION
       The sadf command is used for displaying the contents of data files created by the sar(1) command.  But  unlike
[root@centos73 ~]#

 sar

[root@centos73 ~]# man sar | grep -A 1 -E "NAME|SYNOPSIS|DESCRIPTION"
NAME
       sar - Collect, report, or save system activity information.
--
SYNOPSIS
       sar  [ -A ] [ -B ] [ -b ] [ -C ] [ -d ] [ -H ] [ -h ] [ -p ] [ -q ] [ -R ] [ -r ] [ -S ] [ -t ] [ -u [ ALL ] ]
--
DESCRIPTION
       The sar command writes to standard output the contents of selected cumulative activity counters in the operat‐
[root@centos73 ~]#

 tapestat

[root@centos73 ~]# man tapestat | grep -A 1 -E "NAME|SYNOPSIS|DESCRIPTION"
NAME
       tapestat - Report tape statistics.
--
SYNOPSIS
       tapestat [ -k | -m ] [ -t ] [ -V ] [ -y ] [ -z ] [ interval [ count ] ]
--
DESCRIPTION
       The tapestat command is used for monitoring the activity of tape drives connected to a system.
[root@centos73 ~]#

試した環境

HW

Product Name
  ProLiant DL160 Gen8
CPU
  4 CPUs x Intel(R) Xeon(R) CPU E5-2603 0 @ 1.80GHz
Memory
  16GB
iLO Firmware Version
  2.44 Jul 19 2016

仮想化基盤

OS
 vmware ESXi 6.0.0 (Build 3620759)
操作環境
 VMware Host Client
 iMac (27-inch, Mid 2010)
 macOS High Sierra
 ブラウザ
  Google Chrome
  Safari

ゲストOS

[root@centos73 ~]# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
[root@centos73 ~]# uname -a
Linux centos73 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
[root@centos73 ~]#

Wiresharkパケット色付けルールの仕組みとフィルタの一覧

Wiresharkのパケットリストを眺めていると
パケット毎に色分けされて表示されていく

感覚的には色の濃い(黒とか赤とか)パケットが
ヤバイやつってのは認識しているけど,この色分けってどんな意味があるのかな?

というのが今日のお話です。

目次


例えば「青」と「緑」の色分け

下の画面では青と緑に色分けされています。
Protocol列を見てなんとなく青はDNS?緑はTCPかなってくらいに思ってみてました。

でも実際は

  • ・・・ UDPのマーク
  • ・・・ HTTPのマーク

なんです。

画面の例(青と緑)

f:id:htbariki:20171210230934p:plain

色分けのルール

Wiresharkで色分けのルールは何で決まっているかというと
「色付けルール」という機能があって、ここでデフォルトのルールが決まっています。

メニューバーから「表示(V)>色付けルール…(C)」を選択すると
下の画面が表示されます。

色付けルールの画面[デフォルトの状態]

表示されたのでデフォルト状態の色付けルール
ここで気がつくのは,色付けルールは

Wiresharkの表示フィルタの機能を使っている

ということ
動作としては表示フィルタで選択されたパケットに着色していくイメージですかね?

f:id:htbariki:20171210230940p:plain

色付けルールに利用されている表示フィルタの一覧

仕組みが分かってしまえば,応用が効きます
例えば,「Bad TCP」の黒色パケットだけ画面に表示したいときは

表示フィルタ部分に「tcp.analysis.flags && !tcp.analysis.window_update」

と入力すれば。下の画面の通り「Bad TCP」のみ選択して表示できます

f:id:htbariki:20171210230946p:plain

表示フィルタ一覧表

色付けルールで使われている表示フィルタを表にしておきます。
参考にして下さい

名前 フィルタ
Bad TCP   tcp.analysis.flags && !tcp.analysis.window_update
HSRP State Change  hsrp.state != 8 && hsrp.state != 16
Spanning Tree Topology  Change   stp.type == 0x80
OSPF State Change   ospf.msg != 1
ICMP errors   icmp.type eq 3 || icmp.type eq 4 || icmp.type eq 5 || icmp.type eq 11 || icmpv6.type eq 1 || icmpv6.type eq 2 || icmpv6.type eq 3 || icmpv6.type eq 4
ARP   arp
ICMP   icmp || icmpv6
TCP RST   tcp.flags.reset eq 1
SCTP ABORT   sctp.chunk_type eq ABORT
TTL low or unexpected   ( ! ip.dst == 224.0.0.0/4 && ip.ttl < 5 && !pim && !ospf) || (ip.dst == 224.0.0.0/24 && ip.dst != 224.0.0.251 && ip.ttl != 1 && !(vrrp || carp))
Checksum Errors   eth.fcs.status=="Bad" || ip.checksum.status=="Bad" || tcp.checksum.status=="Bad" || udp.checksum.status=="Bad" || sctp.checksum.status=="Bad" || mstp.checksum.status=="Bad" || cdp.checksum.status=="Bad" || edp.checksum.status=="Bad" || wlan.fcs.status=="Bad" || stt.checksum.status=="Bad"
SMB   smb || nbss || nbns || nbipx || ipxsap || netbios
HTTP   http || tcp.port == 80 || http2
IPX   ipx || spx
DCERPC   dcerpc
Routing   hsrp || eigrp || ospf || bgp || cdp || vrrp || carp || gvrp || igmp || ismp
TCP SYN/FIN   tcp.flags & 0x02 || tcp.flags.fin == 1
TCP   tcp
UDP   udp
Broadcast   eth[0] & 1

試した環境

ホストOS

Apple iMac 21.5インチ 1.6GHz Corei5 8GB 1TB MK142J/A

iMac (27-inch, Mid 2010)

macOS High Sierra
    システムのバージョン:    macOS 10.13.2 (17C88)
    カーネルのバージョン:    Darwin 17.3.0

 Wireshark

Wireshark
    Version 2.4.3 (v2.4.3-0-g368ba1e)

Wiresharkの時刻表示を変更する[macOS]

Wiresharkを使ってパケットをホジホジするときは大抵

「XX時XX頃の動作が〜でー」とか
「サーバ側でエラーが〜。ログはこれで〜時間は〜」

となるわけです。
キャプチャしていた時間,サーバのログの時間等と時間をあわせて調査開始となります。

Wiresharkでパケットを取得していた場合
パケットリストペインに表示される時刻(Time)のデフォルトは
キャプチャ開始からの秒数となっています。

このままでは不便なシーンも多いので
今回はこの時刻表示を変えてみます。

目次


Wiresharkのパケットリストペインの時刻

f:id:htbariki:20171210150523p:plain

 時刻表示形式の変更方法

変更方法

メニューバーから変更ができます。
①表示(V) > 時刻表示形式 > から変更が可能です。

f:id:htbariki:20171210150532p:plain

変更可能な表示形式

変更可能な表示形式は画面に表示された以下の通り

  • 日時
  • 年、通年日、時刻
  • 1970年1月①日からの秒数
  • キャプチャ開始からの秒数(デフォルト)
  • 前にキャプチャされたパケットからの秒数
  • 前に表示されたパケットからの秒数
  • UTC日時
  • UTC年、通年日、時刻
  • UTC時刻

[参考]Wiresharkの画面

f:id:htbariki:20171210150550p:plain

よく使う表示形式3つ

キャプチャ開始からの秒数 [デフォルトの表示]

f:id:htbariki:20171210150546p:plain

時刻(01:02:03.123456) 表示

f:id:htbariki:20171210150528p:plain

日時(1973-06-14 01:02:03.123456)表示

f:id:htbariki:20171210150539p:plain

試した環境

ホストOS

Apple iMac 21.5インチ 1.6GHz Corei5 8GB 1TB MK142J/A

iMac (27-inch, Mid 2010)

macOS High Sierra
    システムのバージョン:    macOS 10.13.2 (17C88)
    カーネルのバージョン:    Darwin 17.3.0

 Wireshark

Wireshark
    Version 2.4.3 (v2.4.3-0-g368ba1e)

Wiresharkのメインウィンドウ[macOS]

Wireshark。便利な道具です。
道具の使い方は基本が大切!

という事今回はmacOS上でのWiresharkメインウィンドウの説明です。

目次


メインウィンドウの説明

メインウィンドウは各「バー」と「ペイン」で構成されています。
Wiresharkと仲良くなるための基本となるので、概要を押させておきましょう!

①メインツールバー

概要
よく使うアクションがアイコンで準備されています。

「表示」メニューの場所
表示(V)>メインツールバー(M)

②フィルタツールバー

概要
現在適用されている「表示フィルタ」の表示と、操作を行う場所

「表示」メニューの場所
表示(V)>フィルタツールバー(F)

③パケットリストペイン

概要
キャプチャされたパケットの要約が表示される。
色分けルールでパケット毎(行毎)に色分けされる。
感覚的には濃い色がヤバイやつ。

「表示」メニューの場所
表示(V)>パケット一覧(L)

④パケット詳細ペイン

概要
パケットリストペインで選択したパケットの詳細を表示する。

「表示」メニューの場所
表示(V)>パケット詳細(D)

⑤パケットバイトペイン

概要

パケットリストペインで選択したパケットのデータ(HEX)を表示
パケット詳細ペインで選択した部分が強調表示される。

「表示」メニューの場所
表示(V)>パケットバイト列(B)

メインウィンドウの例

f:id:htbariki:20171210140830p:plain

試した環境

ホストOS

Apple iMac 21.5インチ 1.6GHz Corei5 8GB 1TB MK142J/A

iMac (27-inch, Mid 2010)

macOS High Sierra
    システムのバージョン:    macOS 10.13.2 (17C88)
    カーネルのバージョン:    Darwin 17.3.0

 Wireshark

Wireshark
    Version 2.4.3 (v2.4.3-0-g368ba1e)

macOSにWireshark 2.4.3をインストールする

Wireshark。ネットワーク・アナライザです。
これを起動しちゃうとパケットの海に潜って時間があっという間に過ぎ去ります。

久しぶりにWiresharkのサイトを見たら,2.4系が出ているようなので
macOSにインストールしてみました。

Windowsにインストールするよりステップ数が少なくて良い感じです。

では早速インストールの手順を紹介です。

目次


 Wiresharkのダウンロード

ダウンロードは
https://www.wireshark.org/download.html 
から

今回はmacOSなのでダウンロードページから
macOS 10.6 and leter 〜」を選択

f:id:htbariki:20171210124420p:plain

 Wiresharkのインストール

ダウンロードした.dmgをダブルクリック

f:id:htbariki:20171210124416p:plain

f:id:htbariki:20171210124350p:plain

インストーラーを起動

画面の指示に従って次へ次へ次へ

f:id:htbariki:20171210124343p:plain

f:id:htbariki:20171210124319p:plain

f:id:htbariki:20171210124356p:plain

f:id:htbariki:20171210124402p:plain

f:id:htbariki:20171210124323p:plain

管理者のパスワードを入力

f:id:htbariki:20171210124331p:plainf:id:htbariki:20171210124407p:plain f:id:htbariki:20171210124337p:plain

 Wireshark の起動

launchpadからWiresharkのアイコンをクリック

f:id:htbariki:20171210124412p:plain

起動完了

f:id:htbariki:20171210124430p:plain

試した環境

ホストOS

Apple iMac 21.5インチ 1.6GHz Corei5 8GB 1TB MK142J/A

iMac (27-inch, Mid 2010)

macOS High Sierra
    システムのバージョン:    macOS 10.13.2 (17C88)
    カーネルのバージョン:    Darwin 17.3.0

 Wireshark

Wireshark
    Version 2.4.3 (v2.4.3-0-g368ba1e)

Raspberry Pi 3がモバイルバッテリーで何時間動作するか試してみた

Raspberry Pi 3の電源はUSBで給電されているので
モバイルバッテリーから電源とったら何時間位動くかな?という実験の結果です。

結論から先に紹介すると今回の環境では約6時間動作しました。

概要

モバイルバッテリーで連続稼動といっても
なにも処理していない状態ではつまらないので
今回はwebカメラ+Motion+wifiで監視カメラを動作させる状態を作ってみました。

概要図

f:id:htbariki:20171029160140p:plain

利用したもの

実験は,Raspberry PiでMotionを動かし
Wifi経由でPCから画像を更新し続ける環境で行いました。

利用したもの

 利用バッテリー

型番:LP-MBY50WH メーカ:LEPLUS 容量:5,000mAh 出力:5V/1A

LEPLUS モバイルバッテリー 急速充電・安心設計 5000mAh ホワイト

稼働時間の計測方法

  • cronを5分おきに動かす
  • バッテリー切れ後,再起動しsyslogを確認

計測の準備

cronの設定

コマンドはどんなものでも良いので
cronで定期的にコマンド実行する。

今回はcrontab -e で5分おきにdateコマンドを実行します。

*/5 * * * * /bin/date

を入れておく。

設定出来たことをcrontab -l で確認しておく。

pi@raspberrypi:~ $ crontab -l
*/5 * * * * /bin/date
pi@raspberrypi:~ $

motionを起動し,起動時間を確認

”sudo systemctl status motion”コマンドで
motionのステータスを確認する。

確認ポイントは
”Active: active (running) since 水 2017-05-31 23:14:53 JST; 13min ago”の部分

起動して13分経過している事が分かります。

pi@raspberrypi:~ $ sudo systemctl status motion
● motion.service - LSB: Start Motion detection
   Loaded: loaded (/etc/init.d/motion)
   Active: active (running) since 水 2017-05-31 23:14:53 JST; 13min ago
  Process: 510 ExecStart=/etc/init.d/motion start (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/motion.service
           └─526 /usr/bin/motion

実行結果

pi@raspberrypi:~ $ grep "/bin/date"  /var/log/syslog.1 |tail
Jun  1 05:05:01 raspberrypi CRON[2114]: (pi) CMD (/bin/date)
Jun  1 05:10:01 raspberrypi CRON[2128]: (pi) CMD (/bin/date)
Jun  1 05:15:01 raspberrypi CRON[2140]: (pi) CMD (/bin/date)
Jun  1 05:20:01 raspberrypi CRON[2170]: (pi) CMD (/bin/date)
Jun  1 05:25:01 raspberrypi CRON[2182]: (pi) CMD (/bin/date)
Jun  1 05:30:01 raspberrypi CRON[2192]: (pi) CMD (/bin/date)
Jun  1 05:35:01 raspberrypi CRON[2205]: (pi) CMD (/bin/date)
Jun  1 05:40:01 raspberrypi CRON[2218]: (pi) CMD (/bin/date)
Jun  1 05:45:01 raspberrypi CRON[2229]: (pi) CMD (/bin/date)

最後の実行が5:45分頃。motion起動したのが前日の23:15頃なので
だいたい6時間30分!!

モバイルバッテリーだけで6時間ほど稼働できる事が確認できました。

試した環境

[asin:B01D3CXJNG:image]

Raspberry Pi 3 Model B
  Pi 3 Starter Kit 32GB [896-8660-Kit4]

Raspbian
  pi@raspberrypi:~ $ uname -a
  Linux raspberrypi 4.4.23-v7+ #913 SMP Tue Oct 4 14:16:19 BST 2016 armv7l GNU/Linux

  pi@raspberrypi:~ $ cat /proc/version
  Linux version 4.4.23-v7+ (dc4@dc4-XPS13-9333) (gcc version 4.9.3 (crosstool-NG crosstool-ng-1.22.0-88-g8460611) ) #913 SMP Tue Oct 4 14:16:19 BST 2016

  pi@raspberrypi:~ $ lsb_release -a
  No LSB modules are available.
  Distributor ID:    Raspbian
  Description:    Raspbian GNU/Linux 8.0 (jessie)
  Release:    8.0
  Codename:    jessie

コマンドラインからシリアルナンバー等のシステムの情報を取得する方法

久しぶりの投稿です。
気がつけば149日もBlog更新が止まっていました。

プライベート側が忙しくメモのまとめが追いついていませんでした,,,。(言い訳)

久しぶりの投稿は,Mac OSコマンドラインでシステム情報を取得する方法。
シリアルナンバーや,HWの情報。OSの情報をコマンドラインで取得していきます。

目次


概要

  • 利用するコマンド system_profiler

  • コマンドの概要 ハードウェア,ソフトウェアの情報をレポートする

コマンドの例

system_profilerコマンドは環境により,実行に時間がかかります
出力結果は.txtファイルなどに書き出してから確認する事をオススメします。

オプション無し

iMac:~ ichibariki$ system_profiler > system_profiler.txt

xml形式で取得する

iMac:~ ichibariki$ system_profiler -xml > system_profiler_xml.txt

detailLevel miniで取得する

iMac:~ ichibariki$ system_profiler -detailLevel mini > system_profiler_mini.txt

detailLevel basicで取得する

iMac:~ ichibariki$ system_profiler -detailLevel basic > system_profiler_basic.txt

取得できる情報の例

シリアルやモデル等の情報(Hardware Overview)

Hardware:

    Hardware Overview:

      Model Name: iMac
      Model Identifier: iMac11,3
      Processor Name: Intel Core i3
      Processor Speed: 3.2 GHz
      Number of Processors: 1
      Total Number of Cores: 2
      L2 Cache (per Core): 256 KB
      L3 Cache: 4 MB
      Memory: 12 GB
      Processor Interconnect Speed: 5.86 GT/s
      Boot ROM Version: IM112.0057.B03
      SMC Version (system): 1.59f2
      Serial Number (system): x9999xxxxx9
      Hardware UUID: xxx-xxx-xxx-xxx-xxx

OS等の情報(System Software Overview)



Software:

    System Software Overview:

      System Version: macOS 10.12.2 (16C67)
      Kernel Version: Darwin 16.3.0
      Boot Volume: Macintosh HD
      Boot Mode: Normal
      Computer Name: xxxx
      User Name: xxxx (xxxxx)
      Secure Virtual Memory: Enabled
      System Integrity Protection: Enabled
      Time since boot: 2:00

 【参考①】オプション”-detailLevel”ごとの出力項目比較

項目 -detailLevel full -detailLevel basic -detailLevel mini
Accessibility:
Applications:
Audio:
Bluetooth:
Camera:
Components:
Diagnostics:
Extensions:
FireWire:
Firewall:
Fonts:
Frameworks:
Graphics/Displays:
Hardware:
Installations:
Locations:
Logs:
Memory:
Network:
Power:
Printers:
Software:
Storage:
Thunderbolt:
USB:
Volumes:
Wi-Fi:

【参考②】system_profilerman のman

iMac:~ ichibariki$ man system_profiler

SYSTEM_PROFILER(8)        BSD System Manager's Manual       SYSTEM_PROFILER(8)

NAME
     system_profiler -- reports system hardware and software configuration.

SYNOPSIS
     system_profiler [-usage]
     system_profiler [-listDataTypes]
     system_profiler [-xml] dataType1 ... dataTypeN
     system_profiler [-xml] [-detailLevel level]

DESCRIPTION
     system_profiler reports on the hardware and software configuration of the system.  It can generate plain text reports or XML
     reports which can be opened with System Information.app

     Progress and error messages are printed to stderr while actual report data is printed to stdout. Redirect stderr to /dev/null to
     suppress progress and error messages.

     The following options are available:

     -xml                Generates a report in XML format.  If the XML report is redirected to a file with a ".spx" suffix that file
                         can be opened with System Information.app.

     -listDataTypes      Lists the available datatypes.

     -detailLevel level  Specifies the level of detail for the report:

                         mini          report with no personal information

                         basic         basic hardware and network information

                         full          all available information

     -timeout            Specifies the maximum time to wait in seconds for results.  If some information is not available within the
                         specified time limit then an incomplete or partial report will be generated. The default timeout is 180 sec-
                         onds. Specifying a timeout of 0 means no timeout.

     -usage              Prints usage info and examples.

EXAMPLES
     system_profiler
       Generates a text report with the standard detail level.

     system_profiler -detailLevel mini
       Generates a short report containing no personal information.

     system_profiler -listDataTypes
       Shows a list of the available data types.

     system_profiler SPSoftwareDataType SPNetworkDataType
       Generates a text report containing only software and network data.

     system_profiler -xml > MyReport.spx
       Creates a XML file which can be opened by System Profiler.app

AUTHORS
     Apple Computer, Inc.

Darwin                           June 30, 2003                          Darwin

試した環境

Apple iMac 21.5インチ 1.6GHz Corei5 8GB 1TB MK142J/A

iMac (27-inch, Mid 2010)
macOS Sierra
    システムのバージョン:     macOS 10.12.6 (16G29)
    カーネルのバージョン:     Darwin 16.7.0