#author("2023-04-19T10:35:05+09:00","michiro","michiro")
WebORCAでは変更が必要な所があります(2023/4/19)
nfs-commonのインストール
# apt-get install nfs-common
NFSで主従のサーバをつなぐ。~
例えば、
主サーバ 192.168.0.10
従サーバ 192.168.0.20
従サーバにnfs-kernel-serverをインストール。
# apt-get install nfs-kernel-server
# nano /etc/exports
/home/ormaster 192.168.0.0/255.255.255.0(rw,no_root_squash)
/etc/exportsに上記の一行を追記して、
# /etc/init.d/nfs-kernel-server restart
#br
主サーバに従サーバの/home/ormasterをnfsでmountする。~
主サーバに/mnt/orca directoryを作成して、従サーバの/home/ormaster以下を主サーバの/mnt/orcaにmountする。
# mkdir /mnt/orca
主サーバの/etc/fatabに以下の1行を追記する。
192.168.0.20:/home/ormaster /mnt/orca nfs defaults 0 0
主サーバをrebootとすると主従サーバのNFSによる接続完了。~
**まさかの時のためのバックアップにNFSを利用 [#jfd6d0ac]
処方箋と診療費明細書が残っていればデータの復旧は可能。
処方箋と診療明細書を/mnt/orca/data/orcaprintにpsファイルとして作成するようにすれば、主サーバがクラッシュしてもそれまでの診療データは残り、再手入力で復旧可能。~
(psファイル作成directoryは何処でも良いが、directoryのpermissionを777にしておくこと。)
#br
処方箋印刷プリンタ名がcanon1診療明細書プリンタ名がcanon2として割り当てられていて、印刷可能な状態と仮定する。
# nano /usr/lib/cups/backend/ps10
#!/bin/sh
PSDIR=/mnt/orca/data/orcaprint
FILENAME=shoho.ps
if [ $# -eq 0 ]; then
echo "direct ps10:/ \"Unknown\" \"PS10 Writing\""
exit 0
fi
/usr/bin/pdftops $6 - >> $PSDIR/$FILENAME
chmod 666 $PSDIR/$FILENAME
lp -d canon1 $6
exit 0
# nano /usr/lib/cups/backend/ps11
#!/bin/sh
PSDIR=/mnt/orca/data/orcaprint
FILENAME=meisai.ps
if [ $# -eq 0 ]; then
echo "direct ps11:/ \"Unknown\" \"PS11 Writing\""
exit 0
fi
/usr/bin/pdftops $6 - >> $PSDIR/$FILENAME
chmod 666 $PSDIR/$FILENAME
lp -d canon2 $6
exit 0
ps10 ps11を新規に作成後、
# chmod 755 /usr/lib/cups/backend/ps10
# chmod 755 /usr/lib/cups/backend/ps11
としてから、
# /etc/init.d/cupsys restart
http://localhost:631
でプリンタ ps10を追加する。
プリンタ名 ps10
デバイス PS10Writing
メーカ Raw
モデル Raw Queue
ps11も同様に
プリンタ名 ps11
デバイス PS11Writing
メーカ Raw
モデル Raw Queue
ORCA 出力先プリンタ割り当て情報の設定画面で、canon1をps10、 canon2をps11に変更する。
#br
主サーバのデータを従サーバにバックアップする。~
主サーバに~
/usr/local/bin/bkorcaを作成。スクリプトは、
$ sudo /etc/init.d/jma-receipt stop
$ sudo -u orca pg_dump -Fc orca > /mnt/orca/data/orca.dump
$ sudo /etc/init.d/jma-receipt start
作成後は # chmod 755 /usr/local/bin/bkorcaを実行。~
#br
従サーバにデータをリストア。~
従サーバに~
/usr/local/bin/rstorcaを作成。スクリプトは、
$ sudo /etc/init.d/jma-receipt stop
$ sudo -u orca dropdb orca
$ sudo jma-setup --noinstall
$ sudo -u orca pg_restore -x -O -d orca /mnt/orca/data/orca.dump
$ sudo jma-setup
$ sudo /etc/init.d/jma-receipt start
作成後は # chmod 755 /usr/local/bin/rstorcaを実行。
#br
午前の診療が終了したら主サーバでbkorcaを実行。食事に出かけます。~
食事が終わったら従サーバでrstorcaを実行。リストア成功を確認したら/mnt/orca/data/orcaprintのファイルを削除。
#br
shoho.ps meisai.pspdfに変換するには、
$ ps2pdf shoho.ps
$ ps2pdf meisai.ps
とすれば、windowsでもacrobatReaderでプレビューできる。~
#br
午後診療終了時も主サーバでbkorcaを実行。~
翌朝、従サーバでrstorcaを実行。~
午前の診療で主サーバがクラッシュした場合、~
従サーバにて診療を続行する。昼休みに従サーバの/home/ormaster/data/orcaprintのshoho.ps meisai.psを使って手入力でクラッシュ前のデータを復旧する。