1日程度の遅れで問題視してはいけない ― 2017年09月23日 10時48分52秒
svnリポジトリダンプスクリプト ― 2012年02月11日 08時21分53秒
KURO-BOX/Debian Lenny環境でSubversionリポジトリを管理するようにしています。 自動でsvnadmin dumpを使ったリポジトリバックアップ運用も既に行っていたのですが、1週間に一度単純なdumpを日付のフォルダを作って保存する形でした。
でもその形だと以下の問題があります。
- 更新がなかったリポジトリも毎回バックアップしてしまう
- 途中でリポジトリが壊れた場合差分loadで復元したい
ということで以下の機能を追加
- バックアップ時点のリポジトリのレビジョンを保管
- 保管したレビジョンとその時点のレビジョンに差分がある場合のみバックアップ実行
- 差分がある場合はフルバックアップと差分バックアップの両方を実施
念のためですが「自動」の部分はcronで実施で、ここで紹介するのは単なるスクリプトです。
なお、バックアップ元のディレクトリと保存先のディレクトリはスクリプト内で指定する形。引数(第一引数)で指定するのはリポジトリの名前(相対パス)。 オプション(第二引数)で更に他のディレクトリに最新のバックアップをコピーします。
#!/bin/sh ########################################## # svn repository dump ########################################## # setting path rtop="/mnt/svn" svnbackupdir="/mnt/backup/svndump" # if [ "$1" = "" ]; then echo "Usage $0 repository-name" exit fi repo=$rtop"/"$1 if [ ! -d $repo ]; then echo "$repo not found" exit fi echo "## $repo dump start ##" logger "## $repo dump start ##" datedir=`date +%F` echo "today is" $datedir if [ -d $svnbackupdir ]; then echo "already exist" $svnbackupdir else echo "mkdir" $svnbackupdir mkdir $svnbackupdir fi backupdatedir="$svnbackupdir/$datedir" backupbase=`echo $1 | tr "/" "_"` # history save hisfile="$svnbackupdir/svn_$backupbase.history" newrev=`svnlook youngest $repo` echo "$repo revision is $newrev" backupfile="$backupdatedir/svn_$backupbase.dump" if [ -f $hisfile ]; then lastbackup=`cat $hisfile` echo "$repo last dump revision is $lastbackup" if [ "$lastbackup" = "$newrev" ]; then msg="## $repo no change ##" echo $msg logger "$msg" exit fi fi # backup dir create if [ -d $backupdatedir ]; then echo "already exist" $backupdatedir else echo "mkdir" $backupdatedir mkdir $backupdatedir fi # svndump diff if [ -f $hisfile ]; then lowrev=`expr $lastbackup + 1` difffile="$backupfile""_""$lowrev""_""$newrev" echo "difffile = $difffile" msg="svn dump $repo -r $lowrev:$newrev --incremental --> $difffile" echo $msg svnadmin dump $repo -r $lowrev:$newrev --incremental > $difffile logger "$msg" fi # svndump all msg="svn dump $repo --> $backupfile" echo $msg svnadmin dump $repo > $backupfile logger "$msg" # dump history save echo $newrev > $hisfile # copy svndump file if [ "$2" != "" ]; then cpdir="$2/$datedir" if [ -d $cpdir ]; then echo "already exist" $cpdir else echo "mkdir" $cpdir mkdir $cpdir fi echo "svn dump copy $backupfile --> $cpdir" cp -p $backupfile $cpdir cp -p $difffile $cpdir fi msg="## $repo dump end ##" echo $msg logger "$msg"
KURO-BOX/HGにsvnサーバリポジトリ構築 ― 2011年05月19日 20時34分10秒
こちらを参考にsvnサーバの環境構築しました。
サーバのハードはKURO-BOX/HG(debian lenny)です。
Windows/Trac Lightningでの運用でもいいのですが、実はこのKURO-BOXはDDNSで外部からアクセスできるようにしているので、外からもアクセスできるsvnサーバとして使うつもり。
なので、svn+sshでのアクセスが可能なようにしました。
ちなみに、svnserveは/etc/init.d/svnserveというようなスクリプトは用意されていないので、fetchmail用のスクリプトを改造しました。
その後、svn+sshでのアクセスが目的であれば、上記のように/etc/init.d/svnserveなどのシェルスクリプトを用意する必要はないことが判明。思い込みって怖い。 詳しくはこちらを参照してください。
みずほシステム障害の真相(想像) ― 2011年03月26日 05時08分49秒
みずほのトラブルですが、ソフトウェア開発「業界」の現状を考えると「当たり前」だと思えます。
以下、羅列します。
- 頭がいい、悪い、能力がある、ない、とは関係のない次元で決定権を持つ人間の意見が通る
- いいエピソードはこちら
- 派遣の横行
- 擬似正社員の横行
- 偽装正社員の横行
- コードが書けない人間がプロジェクトマネージャ
- コードも書けない人間が設計
- 派遣エンジニアが中核のコードを書くのでコードの書けないプロジェクトマネージャはレビューしても「瑕疵」を指摘できない。
- コードが書けない設計者は全体システムを俯瞰してのシステムイメージを想像すら出来ない
- クリティカルなシステム設計の経験をしている人間がほぼ絶滅
Androidランチャーアイコンの変更問題 ― 2011年03月24日 07時12分31秒
Androidのランチャーアイコンですが、その画像置き換えではまっています。半日悩んだけど、保留中。 解決したらここに書く予定。情報提供歓迎。
現象
- res/drawable/icon.pngにランチャーアイコンを置く。
- 端末に転送
- 最初の転送なら上記アイコンが表示される
- icon.pngの画像を置き換え
- 端末に転送
- 元のアイコンのまま
- *.apkをzipで解凍して確認しても新しいicon.pngになっている
- adb uninstallで一度削除してから転送しても同様
- エミュレータ、IS01、IS03で同様。
解決方法
まだなぞ。 再起動で反映される場合もあるが、そうでない場合もある。 当面は変ったのでいいけど、どっかにキャッシュがあるのだとおもうのだが、それをクリアしたい。
最近のコメント