11 月 21

2日程度出張で留守にしてました
土曜に戻ってみるとたくさん仕事が溜まってました
今月はかなり忙しく遊んでいる場合じゃないのですが今朝は息子とラジコンバギーを走らせに行って来ました。

事前に整備してましたら
あっちこっち弱っているようです、特にダンパーの傷みが激しいようで足が付いてこない気もしますけど
まずは、息子と一緒に過ごすつもりだったので行ってみました。

 

エンジンの回転が上がりきらなくて以前ほどのパワーはありませんが
そこそこ楽しめました。

boss

written by boss

11 月 13

前回からの宿題を片付けておきましょう

こんな感じで目的とするSQL Server 2005 Express から自動でバックアップを作り出すことができます

本当はmdfファイルとlogファイルをコピーして保管するのが望ましいとは思うのだが
いろいろテストしたところバックアップファイルからも正常にリストアできることを確認しているので深追いはよそう

今回稼動させている環境について説明をしておくと

ホスト名で接続できるような環境ではない「DNSサーバーやDHCPサーバーは設定していない」
サーバーもクライアントも全て固定のIPアドレスを設定してLANを組んでいる
旧SQL Serverに合わせてインスタンス名は使わないように設定している
SQL認証を使っている

例として
利用DB: SQL Server 2005 Express
DB名: test_db
ログインID: hoge   これはSQL Server 2005 ExpressのSQL認証用ユーザー名
パスワード: 1234   これはSQL Server 2005 ExpressのSQL認証用パスワード
バックアップ保存場所: c:\backup
保存ファイル名:test「yyyymmdd」.bak
サーバーのIPアドレス: 192.168.100.100
サーバーのOS: Windows Server 2008 R2 (当然64bitです)

1. データーベースからバックアップを作り出す命令を用意する

BACKUP DATABASE test_db TO DISK=’c:\backup\tmp’ WITH INIT
GO

この簡単な記述を書いたファイルをbackup.sqlとでも名前を付けて保存する。
これで目的のtest_dbのみ「完全バックアップ」ファイルとして処理できる
因みに後で日付を絡めたファイル名にするので仮ファイルとしてtmpとしておいた

 

2. backup.sqlを実行し日付を含むファイル名として保存するように記述したバッチファイルを用意する
内容はこんな感じで

SQLCMD -S 192.168.100.100 -U hoge -P 1234 -iC:\backup\backup.sql
    ※サーバーにSQL認証で接続しバックアップ作業開始
set fname=%date:~-10,4%%date:~-5,2%%date:~-2,2%
    ※実行日の日付を取得し fname にセットする
move /y c:\backup\tmp c:\backup\test.%fname%.bak
    ※tmpを所定のファイル名として保存するようにする
forfiles /P C:\backup /M *.bak /C “cmd /c del /s @path” /D -7
    ※7日分残して古いデーターを消す

この4行(※の行は削除してね)を記述したファイルをbackup.batとして保存
実際にこのbackup.batを実行すると
test.20101101.bakのように実行した日付を含んだファイルとして保存される
このバッチファイルをタスクスケジューラーに登録して毎日定時で動かすわけですよ
すると毎日1つずつバックアップファイルが増え続けるわけです
いつかウンザリするほどのファイル数になるから
最後の行で7日分残して古いのは削除してます。

forfilesはありがたいね
以前のOSにはなかったと思いますがVISTA以降では搭載されているのではないかと思います
DOSのコマンドの非力さに呆れてvbsかwshで処理しようかと思ってたんですけど
このforfilesはUNIX系ではお馴染みのfindに似た使い方が可能です
DOSのコマンドのfindとは違いますよ
とにかくこれのおかけで簡単な記述で目的を果たすことができます

3. このバッチファイルをタスクスケジューラーに登録する

backup.batをタスクスケジューラーに登録してスケジューリングすればOK

私は毎日定時にバックアップするように設定しました
7日分ですが顧客へは時々このファイルをローカルにでもコピーして保存していただきます。
もちろんサーバーに保存しているので共有設定を行いLAN内の別のクライアントからアクセスできるようにしておきます。

備考:
forfiles /P C:\backup /M *.bak /C “cmd /c del /s @path” /D -7
この動作はファイル名に設定した日付を見ているのではなくて拡張子がbakファイルのタイムスタンプを読み取っています。
ファイル名の日付は人間が管理するのに便利だからそうしているだけです、それにバックアップのたびに同じファイル名だと都合が悪いのでトラブル時には少なくとも7日以内の範囲で任意の過去にデーターを戻せるので・・・

forfilesの使い方はコマンドラインで forfiles /?とタイプしていただければ説明が表示されます。

boss

written by boss

11 月 10

いつも悪夢は突然

携帯電話に掛かってきた内容は
「なんかサーバーの設置場所でアラームが鳴ってるんだけど・・・」

なんてこった

 

そろそろ入れ替える計画で新サーバーは準備中でした
これにSQL Server 2005 expressをもインストールし移行をする予定だったのですが
先に既存のサーバーが壊れてしまい昨日の午後から散々な思いをすることになりました。

あまりにも苦労して新型へ移行したので疲れ果てて細々と説明する気にもなりませんが危機は乗り越えました。

壊れたサーバーはHDDを含めてかなりの部品が不良になっていたため
どんなに頑張っても起動させることはできませんでした

幸い、自動でバックアップデーターを吐き出すようにしていたので
最近の不調を予感したお客様はきちんとコピーを取っておいてくれたおかげで救われました
正確に言うと救われたのは私ではなくてお客様の方です。

古いOSに古いSQLserverをインストールし当時の状態に近いものを用意し
一旦、それでデーターを復元し正常に使えることを確認し新型へ移行作業を行いました。

MSDE2000aとEnterpriseManagerでできていたことが
今回のSQL Server 2005 expressとSQL Server Management Studio Expressでは機能が絞られていてメンテはしにくいのが解りました
気の利いたことをしたければ上のクラスを買えということのようです
不思議なことにSQLの処理速度は古いSQL Serverの方が速いようです

SQL Server Management Studio Expressではバックアップのスケジューリングができないようです
これは痛いですね、しかしコマンドライン操作は提供されていたと思うので
バッチファイルでも作ってタスクマネージャーにでも登録すれば何とかなるかもしれません。

おかげさまで寝不足です。

boss

written by boss

11 月 09

最近の流行かどうかはわからないけど従来からあるメール攻撃とかweb攻撃とかじゃなくて
pop3での不正アクセスが鬱陶しいです。

これは、とにかくランダムなアカウントでpop3に接続を試みてくるのです
しかも、この数が半端じゃない
以前からあってたいした負荷にもならないから無視していたんだけど
最近はちょっと違っていて
とにかくサーバーの負荷が急激に増大する回数が増えたので放置できなくなりました。

ログを解析するとダーっとその履歴がありますね
凄まじいです
今は発見したら、すぐには対処しないけど動きを観察して度を越したものについては遮断しています。

今朝方のはなかなか面白いのでちょっとご紹介しておきます
接続してきたIPアドレスは109.238.3.169です
調べるとこういうことになってました
   ここです ここをクリックすると別窓で開きます

乗っ取られた誰かのパソコンが踏み台になったのか
それとも・・・?

こんなのを毎回調べてますけどADSLかアナログモデムからの接続が多く当然動的なアドレスで接続してきます

日本以外からの接続は全て拒否する設定にしたいのですがそれはまずいので我慢
中国、韓国、インド、台湾、香港、ヨーロッパ方面の国などいろんなところから不正接続を受けます。

boss

written by boss

11 月 06

本日は3件ほどSSLの更新を行いました

これはwebで暗号化通信を行うための機能でサーバーの設定といくつかの証明書で構成されます。

今年の7月23日から従来の1024bitから2048bitの証明書へ変更になったのと
今までは無くても良かった中間証明書が必要になりました。

そのためサーバー側の設定も変更したのですが手間は増えました
本日の3件は本来は2件の処理だったんですけど
これが勘違いして必要の無い「有効期限が十分にある」ドメインの秘密キーを作成しなおしてしまったため無駄に新規でSSL関連の証明書を申請しなくてはならなくなりました。

今までは安全性を確保するため作業前に既存の証明書一式をコピーしておいて作業中のトラブルに対処するようにしていたのですが今日はそれをせずに進めていたため元のファイルに書き直すことができず1件分無駄に証明書費用を払うことになりました
全く とんだ大失態です。

この事態の中で救われたのはいつもより短時間「10分程度かな」で必要な証明書が発行されたため客先への迷惑はかけないで済んだことです。
現在のサーバーの仕様がこれら証明書を新規で作成すると即座に新しいファイルで動くようになっているためSSL通信の開始時にブラウザーが不正であると表示し正しく使えません、正しく動作するには「署名された証明書・対応した秘密キー・中間証明書」の3つが揃う必要があります。

まっいろいろありますけど今後は慎重に作業をしないといけません。

備考:
SSLはwebサイトで問い合わせや買い物籠など暗号化通信を必要とするところで機能するようにサイトを構築しています
httpではなく httpsで始まるURLで機能しています。

boss

written by boss