VineLinuxでバックエンドで自分のWebサイトを自動アップデートする方法のメモ

Vine Evo

cron,CVS,sitecopyを使ってWebを自動アップデートする


1. cron,cvs,sitecopyとは何か?

1.1 cronとは何か?

cronとは自動的に指定したコマンドを実行する機能です。crontabというファイルを設定することで指定時間、指定日、指定週などの周期で毎回コマンドを実行できます。

1.2 cvsとは何か?

cvsはバージョン管理システムです。ここではWindows側で作成したWebサイトの情報をLinux側に反映させるために使用しています。

1.3 sitecopyとは何か?

sitecopyはローカル上のファイルをWebサーバーにアップロードするツールです。前回の更新から変更したものだけをアップロードする機能があります。

2. 自動アップデートさせる

2.1 Webサイトを用意する

サーバ上にあらかじめWebサイトデータを用意しておきます。 以下のようにコマンドを実行します。

  1. cd /home/atsushifx/public_html
  2. cvs co agl
以後、/home/atsushifx/public_html/agl/下でcvs updateと入力すれば、最新のファイルを取得できます。

2.2 スクリプトを作成する

すでにCVSとsitecopyの設定が終わっているものとします。
それぞれの設定については、CVSを使うsitecopyを使うを参照してください。
以下のようなスクリプトを作成します。後々、cronで実行することを考えフルパスで記述します。 実際のスクリプトは以下のようになります。

/home/atsushifx/bin/webupdate.cron
#!/bin/sh
#####
# $Id: webupdate.html 66 2007-05-08 22:55:14Z atsushifx $
# website auto update script for CRON
# use tool cvs,sitecopy
#####
HOME=/home/atsushifx
cd $HOME/tmp
/usr/bin/cvs -d /var/cvs co agl
/usr/local/bin/sitecopy -u aglabo
		

2.3 cronを設定する


最後に、作成したスクリプトを指定時間に実行するようにcronを設定します。
以下のようにコマンドを実行します。

  1. crontab -e
  2. /var/spool/cron/atsushifx
    20 04 * * * /home/atsushifx/bin/webupdate > /dev/null
    		
これで、毎日午前4時20分にWebサイトが更新されるようになります。

3. 参考資料

3.1 Webサイト

上記の設定には以下のサイトを参考にしました。

Dream-Seed
cronの設定方法が説明されています。

もどる
$Revision: 66 $
Last Update: $Date: 2007-05-09 07:55:14 +0900 (水, 09 5月 2007) $