top 開発事例 メンテナンス業務    開発者養成講座    会社概要    問合せ

災害時の対策・・外部に毎日、日付毎の30日分のバックアップ対策



【最新のバックアップがあれば安心・・これはメーカ側の言い分】

サーバを導入した多くの企業では、当然、サーバ自体にバックアップ装置があります。
しかし震度6以上の災害時では、事務所の倒壊や火災の被害に遭遇して、バックアップ自体が消滅します。
外部のクラウドストレージと契約し保存は完璧と思っても、バックアップの作動中に被災したら、
断線・停電などで破損のリスク
がある事に気付くべきです。


【システム維持・管理面から見ると・・過去30日程度に遡れる外部バックアップは必須】

最新のバックアップが「使えない事態」なら、その前日のバックアップを利用できる体制は、本来、
当たり前の対策です。

今後予想される大震災での復旧だけではなく、弊社の経験として・・・
・データの誤操作を気付かず、数日経過してしまった際の調査・復旧
・操作担当者が悪意を持ち、データを改竄(架空請求など)し、事後に証拠を消去された際の調査・復旧

このような際は、必ず数日前に遡ったバックアップが必要になります。


・・・・・この方法は、ある程度の知識があれば、社内の人材で構築出来ます。・・・


【概要は、下図の通りです】・・・自社サーバ(Windows)があるのを前提

クラウドイメージ
[コメント]
・サーバに保存する最新データフォルダがある場合に限ります。現物の複製を作ってテストの事。
・試すだけなら、使ってないパソコンをサーバ代わりに利用可。(電源は夜間も落とさずに)
・レンタルサーバとして信頼性と作動の確認済なのは、さくらインターネットのレンタル(スタンダード)です。
 レンタル側にCRON設定などが利用出来るプロバイダは限られている様です。
・企業として登録し、請求書(コンビニ用)が届いても、払わなければ試用期間(一か月)で自動閉鎖されます。
・WinSCPは、SFTPと言う暗号化した送受信で、国際的に利用され信頼されるフリーソフトです。
・上記で必要な費用は、レンタル代月500円です。
・注意 レンタル側にはメールもWEB設定が可能ですが、安全面でそれらは使わずバックアップ専用にすべきです。


【災害復旧の対策とその応用】・・・監査用・営業用パソコンとしても利用可

社長宅や管理職宅に、復旧用のノートパソコンを置いてもらいます。
そこに業務システムとWinSCPをセットし、非常時に最新データを取得し、システム復旧用パソコンとします。
(※弊社の顧客では自動ダンロードの仕様にしています)

(応用例)
弊社の顧客で関東在住のオーナーの方は、他県にある自社の会社で上記の目的でセットされたシステム
を利用しオーナー自宅から自社の伝票データをチェックしているそうです。

営業部門を持つ弊社顧客では、営業用ノートパソコンに顧客管理情報を自動ダウンロードし、客先で確認
できるシステムとして利用しています。





【試してみようと思う方は以下を参考に】
         ※下記の例は、自己責任で行って下さい。 個々の質問も応じかねます。
知識レベルとして、ファイル操作に慣れている方、サーバのユーザ管理や共有に知識のある方が対象です。

■下記の例では、複写元のフォルダ内に下層のフォルダがあっても転送されません。この場合は、
もう一つの別のフォルダの複製処理として加工する必要があります。

事前準備
【自社サーバをセット】
保存するデータが入ったフォルダをサーバにセットする。
試し期間は、実際のデータの複製を使用する事。
サーバが無い場合は、利用していないパソコンを代用する。この時、24時間電源を切らずに使用。
OSは、Windows7やWindows2008以上 (robocopyが使えるのが理想)
【レンタルサーバ】
・レンタルサーバ:さくらインターネットのレンタル・スタンダードプラン推奨。
 (100G 515円/月 年払い約6千円程度)・・一月のお試しを許可されています。
⇒いろいろ調べて辿り着いた会社で、双日系の上場会社で歴史と信頼性があり、低価格の割に、MySQLが使えたりシェルが自由。
 100Gと言う容量は、中小規模では30日分のバックアップでも十分な余裕。 (ケースにもよる)
 レンタル側でシェルが作動したりCRONが使えるプロバイダは、他に見つかりませんでした。

【転送ソフト】
・転送には、フリーのWinSCPをサーバや管理者用ノートにダウンロードして利用する。
    ・・・・(暗号化されたSFTP通信)
⇒インターネットで検索(WinSCP)し、ダウンロードする。




【さくらインターネットのレンタルスタンダードプランを開設】   http://www.sakura.ne.jp/

 容量が100Gで足らない場合は、その上のプランにする。
 法人利用の場合は、年一括払いの請求方式が便利です。
 開設後、郵送の請求書(コンビニ払い6千円程度)を無視すれば、一月で自動解除になります。
 さくらの申込み後(数十分)、指定のメアドに、パスワードなどのデータが送られてくる。

 ※サーバ名(ホスト名)やパスワードは、下記のWinSCPをインストールし、接続の際に使用します。




【WisSCPダウンロードとインストール】・・Windowsマシン(Win7 Win8 WinServer)で作動確認。

【自社サーバにインストール】・・・Verの違いで画面が多少相違します。
 これは、インターネット上で検索してダウンロードしてインストールしてください。
  ⇒https://winscp.net/eng/docs/lang:jp
 インストール画面は、特に指示せず「次へ」だけで良かったと思います。
 インストールされるとWinSCPのアイコンのアイコンが出ればOKです。
アイコンをクリックし下記画面を表示させます。
 WinSCPのアイコン


【さくらインターネットに接続】
「新規」ボタンから次の画面に、さくらから送られてきたホスト名などを登録し、保存します。
保存の際、パスワードも保存するならチェックを入れます。
※ホスト名の黒塗り部分とユーザ名は同じものです WinSCPの登録
初回の接続は、相互認証が出来てないのでエラー表示されますが「OK」ボタンで以降の接続が自動で
行われます。  (※初回に必須の処理です)


【さくら側のサーバを操作】
ログインボタンで下記の画面が出れば成功です。
ここで表示されるWinSCPは、エクスプローラ形式(初期設定値)なので、右がさくら側で左が起動パソコンのフォルダが表示されます。
そして任意にファイルを送信したり、受信したりが可能です。 ただし、右側はさくら側のシステムフォルダがいろいろありますので、絶対に削除はしないでください。
WinSCPの画面

この画面でさくら側に任意のフォルダ作成や、左側のファイルをドラッグしアップロードやダウンロードも
簡単です。




【自社サーバから転送先のフォルダを作成】・・・上記の続き

最初に、自サイトのフォルダをクリックし、次に下の「ディレクトリの作成」(フォルダ作成の意味)をクリック。
Winscpフォルダ作成


「新しいフォルダ」を消し、半角英数で「backup」などと登録しOKボタンです。
英字の大文字・小文字は、別のものと認識されますので、ここは小文字にします。
Winscpフォルダ作成
※注意 さくら側には、漢字のフォルダ名やファイル名が利用できますが、さくら側内で実施するCRONは、
漢字フォルダ名ではエラーとなるので、バックアップ関係では使わないで下さい。


■これでWinSCPを使ったさくら側のセットアップは一旦終了です。




【自動アップロード用のファイル作成】

■ここからは、自社サーバのセットアップです。

@作成するファイルは、WinSCPを利用しアップロードを実行するWinSCP用のスクリプト(=プログラム)
   ⇒ ここでのファイル名は 自動バックアップ.scp とする
A上記を実行させる為のWindows用のバッチファイル
   ⇒ ここでのファイル名は 自動バックアップ.bat とする

上記の二つのファイルを作成します。

作成は、メモ帳などのエディタを使います。
二つのファイルは、下記サンプルの一部をコピペし、ファイル保存なので、簡単です。

書き換える部分は、
@さくらインターネットから送られてきた【ユーザ名】と【パスワード】
A自社サーバの保存すべき【パス名付きのフォルダ名】
Bさくらインターネットに登録したバックアップ保存用の【フォルダ名】 (上記例では backupにした)



【WinSCP用のスクリプト作成】

メモ帳に下記の----間をコピペします。
-------------------------
option batch on
option confirm off
open sftp://"(ユーザ名)":"(パスワード)"@(ユーザ名).sakura.ne.jp:22
synchronize remote c:\(複写元のフォルダ名)\ (さくら側の保存フォルダ名)/
close
exit
-------------------------
三行目のopen・・・の部分は、さくらから取得したユーザ名とパスワードに書き換えする。
四行目の c:\(複写元のフォルダ名)\ は、サーバのcドライブを想定していますので
もしDドライブなどの場合は d:\ です。※フォルダ名の最後は「\」を付加します。
(さくら側の保存フォルダ名)は、さくら側に設定した保存フォルダ名です。フォルダ名の末尾は
「/」を付加の事。
4行目の記入例  synchronize remote c:\テスト用マスタ\ backup/
注意 サーバ側のフォルダ名とさくら側のフォルダ名の間は半角スペースが必要


メモ帳データで完成したら、自動バックアップ.scp などとして保存します。
管理上、専用のフォルダ c:\夜間自動保存 を作成し、そこに保存してください。

※上記のsynchronizeとは、複写元とさくらの複写先の同期を取るとの意味で
 前日に保存したファイルに変更が無ければアップロードしないので処理が早いです。




【上記スクリプトをWindowsで作動させるバッチファイル作成】

再びメモ帳を開き、下記の----間をコピペします。 ※改行をしれてはいけません。
-------------------------
"C:\Program Files (x86)\WinSCP\WinSCP.exe" /console /script="C:\(@で作成したパス名・フォルダ名)\自動バックアップ.scp"
-------------------------
上記は改行されて表示されていますが、メモ帳内では、改行があれば削除してください。
C:\Program Files (x86)\ はWindows 64ビットマシンの例で、Win7の32ビットマシンは
「C:\Program Files\」になります。・・・・インストールされたWinSCPプログラム保存場所。
インストールしたマシンでWinSCPと言うフォルダがあるProgram Filesを確認して変更が必要か点検の事。
script="C:\(@で作成したパス名・フォルダ名)\自動バックアップ.scp"は、
記述例は 
script="c:\夜間自動保存\自動バックアップ.scp"

完成したら、ファイル名を 自動バックアップ.bat として、先に作成したc:\夜間自動保存フォルダに
保存します。




【作動テスト】

エクスプローラで、上記保存フォルダ「c:\夜間自動保存」を開き、二つのファイルがある事を確認します。
   自動バックアップ.scp
   自動バックアップ.bat

エクスプローラ上で 自動バックアップ.bat をダブルクリックし、実行を試みます。

黒いDOSウィンドウが開き、瞬時に閉じるなら、失敗です。再度点検してください。
DOSウィンドウ内で、ファイルがアップロードされている画面が表示されれば成功と思われます。
確認の為、WinSCCのアイコンをクリックし、さくら側に接続し。作成した保存フォルダに複製
がとれているか確認します。




【自社サーバに夜間の自動アップロードをセット】

これは、自社サーバのWindowsマシンにある「タスクスケジューラ」を利用します。
   (Windows7でもWindows Server2008でも同じです)

Windows7の場合、コントロールパネル→管理ツール→タスク スケジューラ を開きます。

タスクスケジューラ

タスク名(処理名)を記述し、「次へ」・・・基本タスクの作成ウィザードが開きます。   ↓
「毎日」にチェックが入ってるので、何もせずに「次へ」
  ↓
「毎日」の画面が出るので
タスクスケジューラ時刻指定
日付はそのままで、処理時刻のみを設定します。
時刻は 3:00に設定します。これは、さくら側で日々のバックアップを一時間後の4:00に設定する予定を
考えた場合です。実際は、さくら側の処理を考えながら任意に設定してください。
一時間のインターバルを取るのは、インターネットのアップロードはダウンに比べ遅い事を考慮しています。

処理時刻を設定したら「次へ」で「操作」パネルが表示されます。

「プログラムの開始」にチェックがあるので何もせず「次へ」で「プログラム開始パネル」が出ます。
タスクスケジューラBAT指定
ここで、cドライブのフォルダ「c:\夜間自動保存」を開き自動バックアップ.batを指定します。
参照ボタンをクリックし、上記で作成した自動バックアップ.batを指定し「開く」ボタンと「次へ」で概要パネルが表示され「完了」。

最後にタスクが作動するか作動確認します。
タスクスケジューラ確認
@タスクスケジューラライブラリ をクリック(最初に戻る)
A作成したタスク名をクリック
B実行ボタンで、DOS画面が表示され、アップロードが実行されているか確認します。

注意 このタスク処理は、基本的に全員がシステムを停止した夜間でなければなりません。


■自社サーバのセットアップは、ここまで。



【さくらのホスト側にCRONをセット】・・・毎晩自動で30日分のバックアップを取る

■ここからは、操作担当者のパソコンにWinSCPをセットして、操作をします。

【確認作業】
WinSCPを使い、さくら側が開ける様になったら、自社サーバが、夜間の自動転送したファイルが
存在するか確認します。この自動転送が作動していないと意味がありません。
さくら側で確認するフォルダは先に作成したbackup内に最新ファイルが保存されているかです。


【作動の方法】
さくらのホストは、UNIX系OSのOSでFreeBSDが作動しているマシンです。
ここに、外部から転送されたファイルを、日々の31日分のフォルダを生成し、当日のフォルダに
さくら側が受信した最新ファイルの複製をコピーするプログラム(スクリブト)をセットします。
これで1日〜31日までの毎日その日のフォルダに最新ファイルがコビーされ、一月立つと上書きされます。
夜間の自動実行は、さくら側が用意してあるCRONの設定画面でスクリプトと起動時刻をセットし完了です。


【実行結果のイメージ】

実際には、スクリブトは、自動で親フォルダ(daybackup)を生成し、その下に日々のフォルダを作成し、コピー
操作を実施します。
ホスト側日々フォルダ

2016Aprのフォルダは、2016年4月1日に保存処理が実施され、こちらは上書きせずに長期保存されます。
もちろん01フォルダにも、同じものが保存されています。



【さくらのホスト側にスクリプトを作成し転送】



メモ帳に下記をコピペし、編集します。
----------------------------------
#!/bin/sh
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin
cd /home/(ユーザ名)/

# %Y = 西暦4桁
# %y = 西暦下2桁
# %d = 01 - 31 day
# %b = Jan〜Dec month
# %a = Sun〜Sat week

y=`date '+%Y'`
w=`date '+%a'`
m=`date '+%b'`
d=`date '+%d'`

ym=$y$m

# ------- ディレクトリ作成(親) ----------
if [ ! -d /home/(ユーザ名)/daybackup ]
then
mkdir /home/(ユーザ名)/daybackup
fi

# ------- ディレクトリ作成(毎日) ----------
if [ ! -d /home/(ユーザ名)/daybackup/$d ]
then
mkdir /home/(ユーザ名)/daybackup/$d
fi

# ------- ディレクトリ作成(年月) ----------
if [ ! -d /home/(ユーザ名)/daybackup/$ym ]
then
mkdir /home/(ユーザ名)/daybackup/$ym
fi

# 日の保存

cp /home/(ユーザ名)/(さくら側の保存フォルダ名)/*.* /home/(ユーザ名)/daybackup/$d/

# 年月の保存
# 月初めの保存
if [ '01' = `date '+%d'` ]
then
cp /home/(ユーザ名)/(さくら側の保存フォルダ名)/*.* /home/(ユーザ名)/daybackup/$ym/
fi
------------------------ここまで
メモ帳の先頭行は、#!/bin/shがあり、その前にカラ行があっては作動しません。
【訂正箇所】
上から 3行、19行、21行、25行、27行、31行の(ユーザ名)です。さくらから来たメールに記載されています。
下から
2行目、8行目で cp から始まる行の(ユーザ名)と(さくら側の保存フォルダ名)です。
(さくら側の保存フォルダ名)は、先に作成した backup です。

以上を、任意の場所に backup.sh として保存します。



【さくらのホスト側にスクリプトを転送】

WinSCPを起動し、上記のスクリプトをさくら側のルートにコピーします。

【転送したスクリプトはWinSCP画面でパーミッションの設定をする】

さくら側にドラッグされた「backup.sh」の上で、右クリックしプロパティを指定。
下図の赤枠の様に設定したください。
パーミッション設定
これでさくら側で作動するプログラムになりました。
※作動確認は、ややこしいので、ここではしません。



【コントロールパネルでCRONを設定】

CRONとは、自社サーバで設定した、タスクスケジューラと同等の自動実行機能です。

■このセットは、インターネットにアクセスし、さくら側が用紙したコントロールパネル
から設定します。
ブラウザを立ち上げ、https://secure.sakura.ad.jp/rscontrol/ にアクセスする。

認証
ドメイン名の箇所は、(ユーザ名).sakura.ne.jp
パスワードはさくらからのメールにある10桁の半角英数字のパスワード
そして「送信ボタン」

パネルが表示されたら下記ボタンをクリック


下記の新規項目の追加をクリック



下図の実行コマント枠に記述します。(ユーザ名)は、貴社登録のものに置き換える。


下記のユーザ名を置き換えて記述します。
/home/ユーザ名/backup.sh 1> /dev/null
さきほどパーミッションを変更したbackup.shの配置が下部フォルダなら上記を変更してください。

月 日 時 分は図の様に設定する。
時の「5」は、Windowsの送信が午前三時ですから、それ以降1〜2時間後が好ましいです。
これが成功すれば、毎朝五時に日付フォルダに複製が生成されます。

最後は「送信ボタン」で完了です。
もしエラーがあるとメッセージが表示され、CRONは実施されません。

以上、全てが成功すれば、勝手に日々のバックアップがさくら側に保存されます。



【複数のフォルダをバックアップする場合】

@さくら側にも、受信用のフォルダを追加する。
AWinSCPの自動送信スクリプトでsynchronize remote・・・の行を目的のフォルダ名に変え追加。
Bさくら側のスクリブトで追加のディレクトリ生成の部分と、cpから始まるコピーの行を追加。



【弊社の顧客に納入した例】
クラウドイメージ

クラウドイメージ

Copyright (c) m2systems Tokyo Japan 2016