スカイ・エス・エイッチ

menu

ORCAレセコンをご利用中のお客様

TOP > ORCAレセコンをご利用中のお客様 > その他技術、医事情報 > ORCA技術情報 > ORCAレセコンを有効活用しよう

お薬手帳ラベル(ブラザーTD-4100N)

ORCAレセコンを有効活用しよう

お薬手帳ラベルにてブラザーTD-4100Nを使う方法

◎ダウンロード

BrotherのホームページからTD-4010NのLinux用ドライバーをダウンロードして下さい。

インストール方法

32bitライブラリーのインストール
Ubuntu18.04
sudo apt-get install libc6-i386
Ubuntu16.04
sudo apt-get install lib32stdc++6

sudo mkdir /var/spool/lpd
以下フォルダが無い場合は作成してください。
sudo mkdir /usr/lib/cups/filter
sudo mkdir /usr/share/cups/model

sudo dpkg -i –force-all td4100nlpr-1.0.3-0.i386.deb
sudo dpkg -i –force-all td4100ncupswrapper-1.0.3-0.i386.deb

ドライバの修正
sudo vi /usr/lib/cups/filter/brother_lpdwrapper_td4100n

125行目あたりに下記のような行があります。
CUPSOPTION=`echo “$5 Copies=1″ | sed -e ‘s/PageSize/media/’ -e ‘s/BrMarg ・・・・ (長いので省略)

この行を
CUPSOPTION=”
に変更してください。このとき「`」と「’」の違いにご注意ください。
元ファイルにある「`」は使用できませんので「’」を使用してください。

◎102mmテープ用設定

IPアドレス以外はこの通り設定して下さい。
sudo lpadmin -p TD-4100301 -E -v lpd://192.168.1.111/queue301 \
-P /usr/share/cups/model/brother_td4100n_printer_en.ppd
sudo lpadmin -p TD-4100302 -E -v lpd://192.168.1.111/queue302 \
-P /usr/share/cups/model/brother_td4100n_printer_en.ppd
sudo lpadmin -p TD-4100303 -E -v lpd://192.168.1.111/queue303 \
-P /usr/share/cups/model/brother_td4100n_printer_en.ppd
sudo lpadmin -p TD-4100304 -E -v lpd://192.168.1.111/queue304 \
-P /usr/share/cups/model/brother_td4100n_printer_en.ppd
sudo lpadmin -p TD-4100305 -E -v lpd://192.168.1.111/queue305 \
-P /usr/share/cups/model/brother_td4100n_printer_en.ppd
sudo lpadmin -p TD-4100306 -E -v lpd://192.168.1.111/queue306 \
-P /usr/share/cups/model/brother_td4100n_printer_en.ppd
sudo lpadmin -p TD-4100307 -E -v lpd://192.168.1.111/queue307 \
-P /usr/share/cups/model/brother_td4100n_printer_en.ppd
sudo lpadmin -p TD-4100308 -E -v lpd://192.168.1.111/queue308 \
-P /usr/share/cups/model/brother_td4100n_printer_en.ppd
sudo lpadmin -p TD-4100309 -E -v lpd://192.168.1.111/queue309 \
-P /usr/share/cups/model/brother_td4100n_printer_en.ppd
sudo lpadmin -p TD-4100310 -E -v lpd://192.168.1.111/queue310 \
-P /usr/share/cups/model/brother_td4100n_printer_en.ppd
sudo lpadmin -p TD-4100311 -E -v lpd://192.168.1.111/queue311 \
-P /usr/share/cups/model/brother_td4100n_printer_en.ppd
sudo lpadmin -p TD-4100312 -E -v lpd://192.168.1.111/queue312 \
-P /usr/share/cups/model/brother_td4100n_printer_en.ppd

sudo brpapertoollpr_td4100n -P TD-4100301 -n fmt10247 -w 102 -h 47 -g 3.0 -m 2.0 -y 3 -x 1.5 -S 0
sudo brpapertoollpr_td4100n -P TD-4100302 -n fmt10267 -w 102 -h 67 -g 3.0 -m 2.0 -y 3 -x 1.5 -S 0
sudo brpapertoollpr_td4100n -P TD-4100303 -n fmt10287 -w 102 -h 87 -g 3.0 -m 2.0 -y 3 -x 1.5 -S 0
sudo brpapertoollpr_td4100n -P TD-4100304 -n fmt102107 -w 102 -h 107 -g 3.0 -m 2.0 -y 3 -x 1.5 -S 0
sudo brpapertoollpr_td4100n -P TD-4100305 -n fmt102127 -w 102 -h 127 -g 3.0 -m 2.0 -y 3 -x 1.5 -S 0
sudo brpapertoollpr_td4100n -P TD-4100306 -n fmt102147 -w 102 -h 147 -g 3.0 -m 2.0 -y 3 -x 1.5 -S 0
sudo brpapertoollpr_td4100n -P TD-4100307 -n fmt102194 -w 102 -h 194 -g 3.0 -m 2.0 -y 3 -x 1.5 -S 0
sudo brpapertoollpr_td4100n -P TD-4100308 -n fmt102214 -w 102 -h 214 -g 3.0 -m 2.0 -y 3 -x 1.5 -S 0
sudo brpapertoollpr_td4100n -P TD-4100309 -n fmt102234 -w 102 -h 234 -g 3.0 -m 2.0 -y 3 -x 1.5 -S 0
sudo brpapertoollpr_td4100n -P TD-4100310 -n fmt102254 -w 102 -h 254 -g 3.0 -m 2.0 -y 3 -x 1.5 -S 0
sudo brpapertoollpr_td4100n -P TD-4100311 -n fmt102274 -w 102 -h 274 -g 3.0 -m 2.0 -y 3 -x 1.5 -S 0
sudo brpapertoollpr_td4100n -P TD-4100312 -n fmt102294 -w 102 -h 294 -g 3.0 -m 2.0 -y 3 -x 1.5 -S 0

以上12種類のプリンタのデフォルトオプションオプションをCUPS画面で設定
Media Sizeをfmt10247~fmt102294に変更

◎90mmテープ用設定

IPアドレス以外はこの通り設定して下さい。
sudo lpadmin -p TD-4100401 -E -v lpd://192.168.1.111/queue301 \
-P /usr/share/cups/model/brother_td4100n_printer_en.ppd
sudo lpadmin -p TD-4100402 -E -v lpd://192.168.1.111/queue302 \
-P /usr/share/cups/model/brother_td4100n_printer_en.ppd
sudo lpadmin -p TD-4100403 -E -v lpd://192.168.1.111/queue303 \
-P /usr/share/cups/model/brother_td4100n_printer_en.ppd
sudo lpadmin -p TD-4100404 -E -v lpd://192.168.1.111/queue304 \
-P /usr/share/cups/model/brother_td4100n_printer_en.ppd
sudo lpadmin -p TD-4100405 -E -v lpd://192.168.1.111/queue305 \
-P /usr/share/cups/model/brother_td4100n_printer_en.ppd
sudo lpadmin -p TD-4100406 -E -v lpd://192.168.1.111/queue306 \
-P /usr/share/cups/model/brother_td4100n_printer_en.ppd
sudo lpadmin -p TD-4100407 -E -v lpd://192.168.1.111/queue307 \
-P /usr/share/cups/model/brother_td4100n_printer_en.ppd
sudo lpadmin -p TD-4100408 -E -v lpd://192.168.1.111/queue308 \
-P /usr/share/cups/model/brother_td4100n_printer_en.ppd
sudo lpadmin -p TD-4100409 -E -v lpd://192.168.1.111/queue309 \
-P /usr/share/cups/model/brother_td4100n_printer_en.ppd
sudo lpadmin -p TD-4100410 -E -v lpd://192.168.1.111/queue310 \
-P /usr/share/cups/model/brother_td4100n_printer_en.ppd
sudo lpadmin -p TD-4100411 -E -v lpd://192.168.1.111/queue311 \
-P /usr/share/cups/model/brother_td4100n_printer_en.ppd
sudo lpadmin -p TD-4100412 -E -v lpd://192.168.1.111/queue312 \
-P /usr/share/cups/model/brother_td4100n_printer_en.ppd

sudo brpapertoollpr_td4100n -P TD-4100401 -n fmt9047 -w 90 -h 47 -g 3.0 -m 2.0 -y 3 -x 1.5 -S 0
sudo brpapertoollpr_td4100n -P TD-4100402 -n fmt9067 -w 90 -h 67 -g 3.0 -m 2.0 -y 3 -x 1.5 -S 0
sudo brpapertoollpr_td4100n -P TD-4100403 -n fmt9087 -w 90 -h 87 -g 3.0 -m 2.0 -y 3 -x 1.5 -S 0
sudo brpapertoollpr_td4100n -P TD-4100404 -n fmt90107 -w 90 -h 107 -g 3.0 -m 2.0 -y 3 -x 1.5 -S 0
sudo brpapertoollpr_td4100n -P TD-4100405 -n fmt90127 -w 90 -h 127 -g 3.0 -m 2.0 -y 3 -x 1.5 -S 0
sudo brpapertoollpr_td4100n -P TD-4100406 -n fmt90147 -w 90 -h 147 -g 3.0 -m 2.0 -y 3 -x 1.5 -S 0
sudo brpapertoollpr_td4100n -P TD-4100407 -n fmt90194 -w 90 -h 194 -g 3.0 -m 2.0 -y 3 -x 1.5 -S 0
sudo brpapertoollpr_td4100n -P TD-4100408 -n fmt90214 -w 90 -h 214 -g 3.0 -m 2.0 -y 3 -x 1.5 -S 0
sudo brpapertoollpr_td4100n -P TD-4100409 -n fmt90234 -w 90 -h 234 -g 3.0 -m 2.0 -y 3 -x 1.5 -S 0
sudo brpapertoollpr_td4100n -P TD-4100410 -n fmt90254 -w 90 -h 254 -g 3.0 -m 2.0 -y 3 -x 1.5 -S 0
sudo brpapertoollpr_td4100n -P TD-4100411 -n fmt90274 -w 90 -h 274 -g 3.0 -m 2.0 -y 3 -x 1.5 -S 0
sudo brpapertoollpr_td4100n -P TD-4100412 -n fmt90294 -w 90 -h 294 -g 3.0 -m 2.0 -y 3 -x 1.5 -S 0

以上12種類のプリンタのデフォルトオプションをCUPS画面で設定
Media Sizeをfmt9047~fmt90294に変更

◎プラグインを2.04以降に更新

 

◎「91 マスタ登録」「101 システム管理マスタ」「1031 出力先プリンタ割り当て情報」の設定

プリンタ名 標準プログラム名  ユーザプログラム名
お薬手帳 TD-4100   ORCHC04     ○ LA02HC62      ●

◎プログラムオプションに追加

プログラム名
LA02HC62

オプション説明
帳票名:お薬手帳
プログラムID:LA02HC62

オプションの説明

  1. 用量割合コードの編集
    COMMENT2=0:(デフォルト)
    用量割合コードを印字しない
    COMMENT2=1:
    用量割合コードを印字する
  2. ロール紙の幅
    PWIDTH=0:(デフォルト)
    102mm
    PWIDTH=1:
    90mm
  3. 医療機関名を印刷する
    PIRYONAME=0
    印刷しない
    PIRYONAME=1:(デフォルト)
    印刷する
  4. シールプリンタのタイプ
    PTYPE=0:(デフォルト)
    QL-1050
    PTYPE=1
    TD-4100N

    オプション内容
    COMMENT2=0
    PWIDTH=0
    PIRYONAME=1
    PTYPE=1

節電とは、こまめにスイッチを切ることと、消費電力の少ない機種を使うことです。
こまめにスイッチを切ることが、面倒な作業になっては意味がありません。
その条件での節電を検討してみました。評価は「Ubuntu 10.04」のみです。
休み時間、夜は電源を切る。(24時間稼働はやめよう。)
・電源を切るとき「/usr/sbin/logrotate /etc/logrotate.conf」を実行
・バックアップ
・バックアップ異常の感知
電源を切るとき以上を実行するスクリプトを紹介します。

このperlスクリプトは、「Ubuntu 10.04」で評価しています。

#!/usr/bin/perl

#sudo -u orca mkdir /home/orca/backups
#visudo
#orca ALL=NOPASSWD: /sbin/shutdown -h now
#orca ALL=NOPASSWD: /usr/sbin/logrotate /etc/logrotate.conf

#バックアップファイルフォルダ
$PATHBAKFILE = “/home/orca/backups”;
#過去何回分のバックアップを残すか
$kai = 10;

print “バックアップして電源を切る   Enter\n”;
print “バックアップせずに電源を切る 1 Enter\n”;
print “電源を切らずに元に戻る    2 Enter\n”;
$ans = ;
print “\n”;
chomp($ans);
if ($ans eq “2”){ exit 0; }

unless($ans eq “1”){
#過去のバックアップファイルのロテート、削除
print “過去のバックアップファイルのロテート、削除\n”;

for($i = $kai - 1; $i >= 1; $i--){

if( -f “$PATHBAKFILE/orca.dump.$i.gz”){
$i1=$i+1;
$re = `mv $PATHBAKFILE/orca.dump.$i.gz $PATHBAKFILE/orca.dump.$i1.gz`;
}
}
if( -f “$PATHBAKFILE/orca.dump”){
$re = `mv $PATHBAKFILE/orca.dump $PATHBAKFILE/orca.dump.1`;
$re = `cd $PATHBAKFILE && gzip orca.dump.1`;
}

print “バックアップ開始。\n”;
$re = `/usr/bin/pg_dump -O orca > $PATHBAKFILE/orca.dump 2>$PATHBAKFILE/err.txt`;
$re = `cat $PATHBAKFILE/err.txt`;
if($re ne “”){
print “■■バックアップ異常。■■\n”;
print “$re\n”;
$in = ;
exit(1);
}
}

#ログのロテート
print “ログをロテートしています。\n”;
$re = `sudo /usr/sbin/logrotate /etc/logrotate.conf`;

#電源を切る
print “電源を切ります。\n”;
$re = `sudo /sbin/shutdown -h now`;

最新の小型ディスクトップ(core i5)と5年前のサーバ(pentium4)の消費電力の違い

操作なし システム負荷あり
(レセプト一括作成)
最新の小型
ディスクトップ
core i5
Ubuntu01 Ubuntu02
46~48W 平均約47W
5年前のサーバ
pentium4
Ubuntu03 Ubuntu04
120~160W 平均約140W

操作がしばらく無いときは、画面のスリープ、システムのスリープになるように設定しよう
「メインメニュー」「システム」「設定」「電源管理」
「次の時間アイドル状態が続いたらシステムをスリープする」
「次の時間アイドル状態が続いたら画面をスリープする」

節電効果

稼働中 Ubuntu05 Ubuntu06
画面の
スリープ中
Ubuntu07 Ubuntu08
システムの
スリープ中
Ubuntu09 Ubuntu10

システムのスリープから復帰(電源ボタンを押す)しても、日レセは正常に動作しています。
システムのスリープ中は、ネットワークカードも止まるので、スタンドアロンに限られます。

電力量の比較

  • 電気を無駄使いするケース
    5年前のサーバ(pentium4)の24時間稼働。モニタもつけっぱなし。
    システムに負荷がかかっている時間を3時間と仮定する。
    (110W X 21時間 + 140W X 3時間) X 7 = 19.11kWh
  • 電気を実用的な使用条件において節約するケース
    最新のディスクトップ(core i5)を電源を切り、モニタをスリープするように設定して使う。
    1日の稼働を8時間。そのうち操作なしを3時間、システムに負荷がかかっている時間を3時間、モニタのスリープを2時間と仮定する。週40時間稼働。
    (39W X 3時間 + 47W X 3時間 + 11W X 2 時間) X 5 = 1.4kWh

当社のORCAレセコンは、「電気を実用的な使用条件において最も節約する」を標準として設定しています。

QL-1050の後継機種TD-4100Nの情報はこちらです。QL-1050

Ubuntu18.04でも大丈夫です。(2019/1/20)
32bit用ライブラリが必要です。
sudo apt-get install libc6-i386
Ubuntu16.04でも大丈夫です。(2015/1/5)
32bit用ライブラリが必要です。
sudo apt-get install lib32stdc++6

QL-1050概略

Brother製ラベルプリンタ QL-1050
http://www.brother.co.jp/product/labelprinter/info/ql1050/index.htm
PS-9000 ピータッチ専用 10/100BASE-TX対応USBプリントサーバ
↑製造中止の様です。TD-4100Nを使うもしくはUSB接続で検討ください。(H27.10.5)
http://www.brother.co.jp/product/labelprinter/ps9000/index.htm
テープ型式名
長尺紙テープ(102ミリ幅)(DT-243)
長尺紙テープ(90ミリ幅)(DT-245)

スカイエスエイッチカスタマイズ帳票をインストール

http://www.sky.sh/orca-use/721.php
LA02HC62を使う

QL-1050事前設定

※長尺紙テープ(102ミリ幅)(DT-243)を使うには、Windowsから設定が必要
※長尺紙テープ(90ミリ幅)(DT-245)でも102ミリ幅と「この説明書すべて」同じ設定を行う。90ミリ幅のドライバーが、Linuxには用意されていない。

「スタート」-「プリンタ」-「Brother QL-1050」
「ファイル」-「プロパティー」-「デバイスの設定」
「カスタムラベルツール」
「名前 DT102mm x 152mm」-「登録」
「Brother QL-1050」-「OK」

Ubuntu16.04、Ubuntu18.04の場合

sudo mkdir /var/spool/lpd/
sudo mkdir /usr/share/cups/model
sudo dpkg -i --force-all ql1050lpr-1.0.5-0.i386.deb
sudo dpkg -i --force-all ql1050cupswrapper-1.0.5-0.i386.deb

ドライバの修正
sudo vi /usr/lib/cups/filter/brother_lpdwrapper_ql1050

126行目あたりに下記のような行があります。
CUPSOPTION=`echo "$5 Copies=$4" | sed -e ・・・・ (長いので省略)

この行を
CUPSOPTION=''
に変更してください。このとき「`」と「'」の違いにご注意ください。
元ファイルにある「`」は使用できませんので「'」を使用してください。

sudo lpadmin -p QL-1050201 -E -v lpd://192.168.1.108/queue201 \
-P /usr/share/cups/model/Brother/brother_ql1050_printer_en.ppd
sudo lpadmin -p QL-1050202 -E -v lpd://192.168.1.108/queue202 \
-P /usr/share/cups/model/Brother/brother_ql1050_printer_en.ppd
sudo lpadmin -p QL-1050203 -E -v lpd://192.168.1.108/queue203 \
-P /usr/share/cups/model/Brother/brother_ql1050_printer_en.ppd
sudo lpadmin -p QL-1050204 -E -v lpd://192.168.1.108/queue204 \
-P /usr/share/cups/model/Brother/brother_ql1050_printer_en.ppd
sudo lpadmin -p QL-1050205 -E -v lpd://192.168.1.108/queue205 \
-P /usr/share/cups/model/Brother/brother_ql1050_printer_en.ppd
sudo lpadmin -p QL-1050206 -E -v lpd://192.168.1.108/queue206 \
-P /usr/share/cups/model/Brother/brother_ql1050_printer_en.ppd
sudo lpadmin -p QL-1050207 -E -v lpd://192.168.1.108/queue207 \
-P /usr/share/cups/model/Brother/brother_ql1050_printer_en.ppd
sudo lpadmin -p QL-1050208 -E -v lpd://192.168.1.108/queue208 \
-P /usr/share/cups/model/Brother/brother_ql1050_printer_en.ppd
sudo lpadmin -p QL-1050209 -E -v lpd://192.168.1.108/queue209 \
-P /usr/share/cups/model/Brother/brother_ql1050_printer_en.ppd
sudo lpadmin -p QL-1050210 -E -v lpd://192.168.1.108/queue210 \
-P /usr/share/cups/model/Brother/brother_ql1050_printer_en.ppd
sudo lpadmin -p QL-1050211 -E -v lpd://192.168.1.108/queue211 \
-P /usr/share/cups/model/Brother/brother_ql1050_printer_en.ppd
sudo lpadmin -p QL-1050212 -E -v lpd://192.168.1.108/queue212 \
-P /usr/share/cups/model/Brother/brother_ql1050_printer_en.ppd

sudo brpapertoollpr_ql1050 -P QL-1050201 -n format10247 -w 102 -h 47
sudo brpapertoollpr_ql1050 -P QL-1050202 -n format10267 -w 102 -h 67
sudo brpapertoollpr_ql1050 -P QL-1050203 -n format10287 -w 102 -h 87
sudo brpapertoollpr_ql1050 -P QL-1050204 -n format102107 -w 102 -h 107
sudo brpapertoollpr_ql1050 -P QL-1050205 -n format102127 -w 102 -h 127
sudo brpapertoollpr_ql1050 -P QL-1050206 -n format102147 -w 102 -h 147
sudo brpapertoollpr_ql1050 -P QL-1050207 -n format102194 -w 102 -h 194
sudo brpapertoollpr_ql1050 -P QL-1050208 -n format102214 -w 102 -h 214
sudo brpapertoollpr_ql1050 -P QL-1050209 -n format102234 -w 102 -h 234
sudo brpapertoollpr_ql1050 -P QL-1050210 -n format102254 -w 102 -h 254
sudo brpapertoollpr_ql1050 -P QL-1050211 -n format102274 -w 102 -h 274
sudo brpapertoollpr_ql1050 -P QL-1050212 -n format102294 -w 102 -h 294

プリンタオプションの設定
http://localhost:631/ - プリンタの画面でQL-1050201~QL-1050212のMedia Sizeをformat10247~format102294に変更

QL1050CUPS

プリンタ - 対象プリンタ名 - メンテナンス - テストページの印字が正常に印刷され、カットされれば成功

ORCAでのプリンタ設定

出力先プリンタ割り当て情報
お薬手帳 プリンタ名 QL-1050、独自開発プログラム名 LA02HC62

プログラムオプション情報
--------------------
帳票名:お薬手帳
プログラムID:LA02HC62

オプションの説明
(1)用量割合コードの編集
COMMENT2=0:(デフォルト)
用量割合コードを印字しない
COMMENT2=1:
用量割合コードを印字する
(2)ロール紙の幅
PWIDTH=0:(デフォルト)
102mm
PWIDTH=1:
90mm
--------------------
COMMENT2=1
PWIDTH=1
--------------------

ここまでくれば多分印刷出来るでしょう。
201004111719000

常時動かしているORCAレセコンなどのパソコンは、雷などの瞬時停電や、ブレーカーが落ちてしまうなどのトラブルがあっても、障害が起こらないようにしたいものです。このため、若干大きなバッテリーを使います。これをUPS(無停電電源装置)と呼びます。

電源障害の長さにより、2つの動作を行います。

  • 数分の電源障害は、バッテリーで動作させる。
  • 長い電源障害は、パソコンを正常にシャットダウンさせ、BIOSが対応していれば電源が復帰した時点でそのままサーバが立ち上がるようにする。

APC社の製品には、apcupsdと名付けられたライセンスフリーのソフトがあり、使ってみました。もちろんUbuntuでも使えます。

1. 購入機器

APC社製 製品名 APC CS 500 BR400G-JP
添付USBケーブル

結構コンパクトです。 162 X 95 X 285 mm 6.2kg

結構コンパクトです。
162 X 95 X 285 mm 6.2kg

添付USBケーブルを差し込んだ。

添付USBケーブルを差し込んだ。

2. インストール・設定

sudo apt-get install install apcupsd

/etc/apcupsd/apcupsd.confの設定例

電源管理通信ケーブルのタイプを設定します。 UPSCABLE smart

UPSCABLE usb

無停電電源の形式はusbでかまいません UPSTYPE apcsmart

UPSTYPE usb

DEVICE /dev/ttyS0

DEVICE /dev/usb/hiddev0

コンピュータをシャットダウンさせる電池の残量です。デフォルトは5%です。適宜変更して下さい。
BATTERYLEVEL 5

sudo vi /etc/default/apcupsd

ISCONFIGURED=no

ISCONFIGURED=yes

sudo /etc/init.d/apcupsd restart

3. apcaccessコマンド

正常に動作していればapcaccessコマンドにて、UPSの動作状態が見られます。

hasegawa@orca2:~$ sudo apcaccess
APC : 001,040,0973
DATE : Mon Aug 25 08:29:44 JST 2008
HOSTNAME : orca2
RELEASE : 3.12.4
VERSION : 3.12.4 (19 August 2006) debian
UPSNAME : BK500
CABLE : USB Cable
MODEL : APC CS 500
UPSMODE : Stand Alone
STARTTIME: Mon Aug 25 08:24:53 JST 2008
STATUS : ONLINE
LINEV : 100.0 Volts
LOADPCT : 22.0 Percent Load Capacity
BCHARGE : 100.0 Percent
TIMELEFT : 47.9 Minutes
MBATTCHG : 10 Percent
MINTIMEL : 3 Minutes
MAXTIME : 0 Seconds
OUTPUTV : 100.0 Volts
DWAKE : 000 Seconds
DSHUTD : 000 Seconds
LOTRANS : 090.0 Volts
HITRANS : 110.0 Volts
RETPCT : 000.0 Percent
ITEMP : 29.2 C Internal
ALARMDEL : Always
BATTV : 13.4 Volts
LINEFREQ : 59.0 Hz
LASTXFER : No transfers since turnon
NUMXFERS : 0
TONBATT : 0 seconds
CUMONBATT: 0 seconds
XOFFBATT : N/A
SELFTEST : NO
STATFLAG : 0x07000008 Status Flag
SERIALNO : AB0610323360
BATTDATE : 2006-03-05
NOMBATTV : 12.0
FIRMWARE : 8.h10.A USB FW:h10
APCMODEL : APC CS 500
END APC : Mon Aug 25 08:30:33 JST 2008

4. BIOSの設定

BIOSの種類によって、電源スイッチの状態を記憶するものがあります。

以下のように設定すると、電源障害→UPSによるバックアップ→shutdown時に電源が回復した時、パソコンは電源スイッチを押さなくとも立ち上がります

Power Management Setup → After AC Power Lost を [Last State]に設定する

5. テスト

UPSの電源コードを抜いてみましょう。
UPSのアラーム音と共に、パソコンのコンソールに以下のようなメッセージが出るはずです。

Broadcast Message from root@orca2
(somewhere) at 9:16 …

Warning power loss detected on UPS BK500

Broadcast Message from root@orca2
(somewhere) at 9:16 …

Power failure on UPS BK500. Running on batteries.

UPSの電源コードを戻すと以下のようなメッセージが出ます。

Broadcast Message from root@orca2
(somewhere) at 9:18 …

Power has returned on UPS BK500…

6. シャットダウン

apcupsd.confで設定したBATTERYLEVELの電池の残量になると、パソコンのshutdownが
はじまります。

ORCAに繋ぐことのできるポート、LAN内のパソコンを最低限にし、大事なデータをしっかり守りましょう。

以下のIPアドレス等をあなたの環境に合わせ、「/etc/network/if-pre-up.d/orcafirewall」に追加します。
「/etc/network/if-pre-up.d/orcafirewall」rootでの実行件を付けます。

#!/bin/sh
# このパソコンのIPアドレス
ME=192.168.xxx.xx2
# ORCAのマスター、スレーブ、クライアントなどのIPアドレス
YOU=192.168.xxx.xx3
# DNSサーバのIPアドレス
DNSSV=192.168.xxx.xx1
# NTPサーバのIPアドレス
NTPSV=0/0
# LANのネットワーク
LAN=192.168.xxx.0/255.255.255.0
# ネットワークプリンタのIPアドレス
NETPRI=192.168.xxx.x11

if [ "$IFACE" = "eth0" ]; then

iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

#出ていくパケット
iptables -N ethout
#iptables -A ethout -o eth0 -p tcp -d xxx.xxx.xxx.xxx --dport smtp -j ACCEPT
iptables -A ethout -o eth0 -p tcp -d 0/0 --dport smtp -j DROP
iptables -A ethout -o eth0 -j ACCEPT
iptables -I OUTPUT -j ethout

iptables -N ethin
iptables -A ethin -i eth0 -d $ME -f -j DROP

#ssh
iptables -A ethin -i eth0 -p tcp -s $LAN -d $ME --dport ssh -j ACCEPT

#ORCAマスター、スレイブ、クライアントの接続ポート
iptables -A ethin -i eth0 -p tcp -s $YOU -d $ME --dport 5432 -j ACCEPT
iptables -A ethin -i eth0 -p tcp -s $LAN -d $ME --dport 8000 -j ACCEPT

#ネットワークプリンタを使う時
iptables -A ethin -i eth0 -p tcp -s $NETPRI --sport 515 -d $ME -j ACCEPT

#eDolphin(電子カルテ)を使う場合
#iptables -A ethin -i eth0 -p tcp -s $LAN -d $ME --dport 5001 -j ACCEPT
#iptables -A ethin -i eth0 -p tcp -s $LAN -d $ME --dport 389 -j ACCEPT
#iptables -A ethin -i eth0 -p tcp -s $LAN -d $ME --dport 5432 -j ACCEPT
#iptables -A ethin -i eth0 -p tcp -s $LAN -d $ME --dport 5105 -j ACCEPT

#ipmessengerを使う場合
#iptables -A ethin -i eth0 -p udp -s $LAN -d $ME --dport 2425 -j ACCEPT
#iptables -A ethin -i eth0 -p udp -s $LAN -d 255.255.255.255 --dport 2425 -j ACCEPT
#Sambaを使う場合
#iptables -A ethin -i eth0 -p tcp -s $LAN -d $LAN --dport 137:139 -j ACCEPT
#iptables -A ethin -i eth0 -p udp -s $LAN -d $LAN --dport 137:139 -j ACCEPT
#afpdでファイル共有する場合
#iptables -A ethin -i eth0 -p tcp -s $LAN -d $ME --dport 548 -j ACCEPT
#iptables -A ethin -i eth0 -p udp -s $LAN -d $ME --dport 548 -j ACCEPT
#Swatを使う場合
#iptables -A ethin -i eth0 -p tcp -s $LAN -d $ME --dport 901 -j ACCEPT
#WebServer
#iptables -A ethin -i eth0 -p tcp -s $LAN -d $ME --dport 80 -j ACCEPT
#FTP Server
#iptables -A ethin -i eth0 -p tcp -s $LAN -d $ME --dport 21 -j ACCEPT

# DNS
iptables -A ethin -i eth0 -p udp -s $DNSSV --sport 53 -d $ME -j ACCEPT

# auth REJECT
iptables -A ethin -i eth0 -p tcp -d 0/0 --dport auth -j REJECT

# tcp syn DROP
iptables -A ethin -i eth0 -d $ME -p tcp --tcp-flags SYN,RST,ACK SYN -j DROP

# tcp syn 以外 ACCEPT
iptables -A ethin -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT

# ntp ACCEPT
iptables -A ethin -i eth0 -p udp -s $NTPSV --sport ntp -d $ME -j ACCEPT
# LAN内のSNTPとして使う場合は下。
#$LANはLANのネットワークアドレス/ネットマスク
#iptables -A ethin -i eth0 -p udp -s $LAN -d $ME --dport ntp -j ACCEPT

# 必要な ICMP ACCEPT
iptables -A ethin -i eth0 -p icmp --icmp-type echo-reply -d $ME -j ACCEPT
iptables -A ethin -i eth0 -p icmp --icmp-type destination-unreachable -d $ME -j ACCEPT
iptables -A ethin -i eth0 -p icmp --icmp-type time-exceeded -d $ME -j ACCEPT
iptables -A ethin -i eth0 -p icmp --icmp-type echo-request -d $ME -j DROP

iptables -A ethin -i eth0 -j DROP

iptables -I INPUT -j ethin

fi

「/etc/network/if-post-down.d/orcafirewall」に追加します。 「/etc/network/if-post-down.d/orcafirewall」rootでの実行件を付けます。 #!/bin/sh if [ "$IFACE" = "eth0" ]; then iptables -D INPUT -j ethin iptables -F ethin iptables -X ethin iptables -D OUTPUT -j ethout iptables -F ethout iptables -X ethout fi
コンピュータを再起動します。
test