北青山通信 – from aoyama » 2008 » 1月 » 31

サイトを作成するときに、subversion を使ってファイルの履歴管理しています。グループで開発しているので、テストはローカルでWebサーバーを立ててチェックし、客先へはデモサーバーで公開しています。

デモサーバーに公開するには、今までシェルでsvn updateしていましたが、デザイナーからは面倒ということで、cronで自動化するようにしました。参考にさせていただいたページは、「svn update を自動化してみた」です。これを、リポジトリを増えても簡単にするため、forで回すようにスクリプトを改造。

cron でこのスクリプトを実行すると、

  svn: Can’t convert string from ‘UTF-8′ to native encoding:

とエラーになりますので、先頭に

  export LANG=ja_JP.UTF-8

を入れました。

#!/bin/sh
#

export LANG=ja_JP.UTF-8

date=`date "+%Y/%m/%d-%T"`

for repos in repos1 repos2   # ここにリポジトリを指定する。
do
        cd /home/webroot/$repos
        echo $repos > /tmp/svn_update_"$repos"_date.log
        echo "start--" `date "+%Y/%m/%d %T"` | nkf -j >> /tmp/svn_update_"$repos"_date.log
        svn update > /tmp/svn_update_"$repos"_tmp.log
        cat -b /tmp/svn_update_"$repos"_tmp.log > /tmp/svn_update_"$repos".log
        echo "end  --" `date "+%Y/%m/%d %T"` | nkf -j >> /tmp/svn_update_"$repos"_date.log
done

このページは xfy Blog Editor を利用して作成されました。