5丁目通信(仮称)

とある5丁目で活動する還暦を過ぎたWebプログラマーの覚え書きです。それとかかってくる迷惑電話や、家業のアパート経営について。

svn update をcronで自動化した話し


サイトを作成するときに、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 を利用して作成されました。

著:湊川あい, 著:DQNEO
¥2,208 (2024/10/10 08:54時点 | Amazon調べ)
著:リック・ウマリ, 翻訳:吉川邦夫
¥3,247 (2024/09/27 11:17時点 | Amazon調べ)
,

“svn update をcronで自動化した話し” への1件のコメント

  1. yamazakiのアバター

    参照いただいたスクリプトを作成した者です。
    その後、多少汎用化させたスクリプトを作りました。

    http://labs.opendev.jp/misc/wiki/repos-update

    もう少し汎用化させる必要がありますが…