2013年8月13日

Subversionリポジトリバックアップメモ(案1)

Subversionのリポジトリバックアップのメモ


 Subversionでソース管理をしている場合に、リポジトリが壊れても復旧できるようにするためにバックアップを常にとっておく。
 その手段として、リポジトリの同期機能(svnsync)を使う。

  1. 同期先のリポジトリを作成する
    svnadmin create リポジトリ名
  2. hookスクリプトの準備
    pre-revprop-change.tpmlをpre-revprop-changeにリネームして、スクリプト内を「exit 0」だけにする。
  3. 同期先のリポジトリの初期化
    snvsync init 同期先のリポジトリ 同期元のリポジトリ
    例)svnsync init file:///var/appdata/svnbackup/repo_backup http://server_name/repos/repo --username [username] --password [password]

    [username]は、リポジトリへアクセスするユーザ
    [password]は、リポジトリへアクセスするユーザのパスワード
  4. リポジトリを同期する
    svnsync sync 同期先のリポジトリ
    例)svnsync sync file:///var/appdata/svnbackup/repo_backup  --username [username] --password [password]

ヒント

同期先のリポジトリは、fileプロトコルだけではなく、httpでもhttpsでもなんでも良いです。
ただし、1度でもcommitすると同期はできなくなります。


 運用しているリポジトリが何らかの理由で壊れたときは、この同期しているリポジトリを使って復旧する。

2013年8月12日

ファイル圧縮ツールなに使ってますか?

 みなさんは、ファイルの圧縮ツールは何を使っていますか?
いろいろ使って来ましたが、今は、7-zipというツールを使っています。

LHA→zip→DGCA→7-zipとツールを変更しています。

途中、いろいろなのを使っていましたが、圧縮機能が有料だったり、あまりメジャーでなかったり(自分が知らないだけ?)、高圧縮のツールがでたりして、使うのをやめたのも多々あります。


 DGCA(DigitalGCodecArchiver)は、他で使っている人は居ませんでしたが、高圧縮できたので仕事でもよく使っていました。メジャーでないということは、ファイルを展開するツールを持っている人がいないので、自己展開形式にしてファイルを渡していました。
当然、小さいファイルを自己展開機能をつけてしまうと、そのプログラム部分が大きいので、その場合は、zipとかで圧縮して送っていました。

 7-zipは、高圧縮で、いろいろなファイル形式の展開機能が付いているので今では、一番使っているツールです。
 これも、やはり、一般的には普及していないようなので、自己展開形式にしてファイルを圧縮して送っています。
 でも、圧縮レベルを「超圧縮」というのにして使うととんでもなくファイルサイズが小さくなります。
 ベンチマークを取ったわけではないですが、たまたま今、やった圧縮の状況を書きますとこんな感じです。


圧縮前 ファイル数56、フォルダ数25の123,412,480バイト(117MB)のファイル(ファイルは、accdb形式)を圧縮してみた。
  • zip(WIndows標準)
    16,675,382バイト(15.9MB)
  • 7-zip(超圧縮)
    1,542,751バイト(1.47MB)
  • 7-zip(超圧縮)の自己展開形式
    1,705,567バイト(1.62MB)
zip形式の10分の1にサイズになってしまいました。
自己展開形式しても、ほとんど変わりません。


 これで、7-zipを使わない手はないよね。

7-zip推しです。





2013年8月10日

店頭の家電並みと思っているらしい

 あるコンピュータのコンサルの営業のことであるが、手作りのコンピュータシステム(でも)は、量販店で電化製品を買ってきて、コンセントを挿せば動くほど簡単だと思っているらしい。
 だから総合的なテストもせずに本番リリースさせようする。
でも実際、総合テストなんてせずにリリースしたけど。
特に問題も起きずに、稼働しているらしい(小声で、さすが俺。)


誰とは言わないが…。

※電化製品が簡単に作られているというわけではなく、店頭に並んでいるのは完成品という意味です。

スーパーユーザー!

 自分はコンピュータのシステムをよく理解していると勘違いしているユーザは、事ある毎にスーパーユーザを作って、なんでもできるようにしてという。
 当然データの整合性が崩れるてしまう事件が起きる可能性があることなんてこれっぽっちも考えに無い。

誰とは言わないが…。

2013年8月9日

新潟まつり2013 花火

外で音がすると思ったら、新潟祭りの花火。
今年から、三日間上がるらしいよ。


2013年8月6日

Windows Updateで作成された不要なフォルダを消す方法

 Windows7でWindows Updateしているとディスク容量が大きいドライブに数字とアルファベットで構成されているフォルダが勝手にさくせいされて消えないで残る場合があります。
(WindowsUpdateが失敗すると残るらしい)

 その残骸のフォルダを消す方法。
エクスプローラーでやることもできると思いますが、管理者のコマンドプロンプトでやるほうがちょっと楽なのでその方法を紹介。


手順は、フォルダの所有権を取得→フォルダをEveryoneのアクセス権を付ける→削除するの手順です。


  1. コマンドプロンプトを管理者で起動する。
    スタートメニューの「コマンドプロンプト」を右クリックし、「管理者で実行(A)...」をクリックする。
    管理者:コマンド プロンプトが起動します。
  2. takeownコマンドで現在のログインユーザに所有権を与える(指定したフォルダ以下全部のファイル)
    例)takeown /r /f H:\16429603b3e0bc8a76c894993b295c
  3. icaclsコマンドでフォルダのアクセス権に付ける(指定したフォルダの下のEveryoneでフルアクセス権)
    例)icacls H:\16429603b3e0bc8a76c894993b295c /grant Everyone:F /T
  4. エクスプローラーでフォルダを削除する。

たくさんあるとちょっと面倒ですが、削除用のバッチファイルかなんか作れば一回で終われますね。
そもそも、そのバッチファイルは、1回しか使いませんけどね。


2013年8月4日

dotNET アプリケーションをビルドするbatファイル

 昔々、やってたプロジェクトでdotNETで作成したWebアプリケーションをコンパイルするのに毎回VisualStudioを起動してコンパイルしてリリースやテスト環境を作るのが嫌になったのと、たかがこれだけの作業すら自分でやりたくない偉ぶってる人を批判するためにビルドするバッチファイルを作りました。
 ちなみに、VSSにも対応していました。
一応中を読めばわかると思うんですが解説が欲しい人はコメント下さい。

 当時は、VisualStudio2005を使っていたので、このバージョンですが、新しいのにも適用できるのでは無いでしょうか?


やってることは

  1. 1.Subversionのリポジトリからソースを一式取ってくる
  2. 2.ソリューションをビルドする
  3. 3.リリースファイルをフォルダにまとめる。
  4. 4.ビルド結果をログファイルとして作成する。

です。

 ホントは、これを元に改良していろいろなプロジェクトに適用してほしかったんですが、だれも何も指定内容です。
 殆どの人が自分で作業したくないんですよね。
システム開発者が消費者(出来合いのものを使うだけ)になっている現状がありました。


ダウンロードはこちら
dotNTAppBuilder.zip