アーカイブ

2014 年 8 月 のアーカイブ

hetemlのサイトデータ(ファイルとDB)のバックアップスクリプト

2014 年 8 月 14 日 コメントはありません

hetemlはちゃんとしたバックアップオプションがあるものの、ちょっと高い。
シェルスクリプトでファイルとMySQLのDBを丸っと保存しておけば、作業ミスの場合は復旧できる可能性が高まる。

ということで、シェルスクリプトを作ってみた。

まず、このコードを○○.shという拡張子で適当な場所(/apps 以下とか)に保存して、実行権限を与える。

#!/bin/sh

SITENAME=’MYSITE‘ # 保存するファイル名に付与するサイト名
WEBDIR=’/home/sites/heteml/users/○/○/○/○○○○○/web‘ # バックアップしたいファイルのあるディレクトリ

DBNAME=’_my_db_name‘ # My SQLのユーザー名およびDB名(hetemlは統一されている)
DBPASS=’DB_PASSWORD‘ # My SQLのパスワード
DBHOST=’HOST.heteml.jp‘ # My SQLのサーバー

SAVETO=’/home/sites/heteml/users/○/○/○/○○○○○/backup/‘ # バックアップファイルの保存先(非公開のディレクトリが望ましい。/webは危険)
PERIOD=14 # バックアップファイルの保存期限

TODAY=`date +%y%m%d`
EXPIRED=`date –date “${PERIOD} days ago” +%y%m%d`
DBFILE=”${SAVETO}/${TODAY}_${SITENAME}_db.tar.gz”
WEBFILE=”${SAVETO}/${TODAY}_${SITENAME}_web.tar.gz”

mysqldump –opt –host=${DBHOST} –user=${DBNAME} –password=${DBPASS} ${DBNAME} > db_backup.sql
tar zcvf ${DBFILE} ./db_backup.sql
tar zcvf ${WEBFILE} ${WEBDIR}

rm ./db_backup.sql
rm -f ${SAVETO}/${EXPIRED}_${SITENAME}_db.tar.gz
rm -f ${SAVETO}/${EXPIRED}_${SITENAME}_web.tar.gz

次に、hetemlの管理画面でcron設定を開き、日ごとにこのスクリプトが動くように指定する

各種設定はスクリプト内を参照されたし。

ただし、保存先が同じサーバーなので、ハードディスクがクラッシュするようなサーバーの障害時にはバックアップもろとも消える可能性があるので、定期的にダウンロードしたり、別サーバーに送るような仕組みが必要な点は注意が必要。

カテゴリー: Programming, TIPS

hetemlでownCloud 7をセットアップする

2014 年 8 月 12 日 コメントはありません

hetemlでownCloud使っている人がいるにはいるようです。
が、セットアップに関する情報がないのでメモ。

手順はシンプル。
普通に提供される方法(アーカイブのダウンロードやsetup-owncloud.php設置)だとURLやパスの指定でエラーがでるので以下の方法で設定。所要時間2分。

  1. SSHでhetemlにログインし、インストール対象のディレクトリに移動
  2. wget http://download.owncloud.org/community/owncloud-7.0.1.zip でアーカイブをダウンロード
  3. unzip owncloud-7.0.1.zip で解凍
  4. ブラウザでインストール対象のURLにアクセスすると設定画面になるので、管理者のアカウント設定、DB設定を行うだけ

ownCloudのDL用URLはhttps://- になっていて、hetemlだとうまくダウンロードできない。これはhetemlの仕様。setup-owncloud.phpによるインストールが失敗するのもこれが原因だが、httpに直してもzipの解凍で躓く。なのでsetup-owncloud.phpと同じことを若干置き換えてSSHで行うことですんなりインストールできる。

ただし、デフォルトのhetemlではhttpでの通信になり危険なので、httpsで運用するのがベスト。

カテゴリー: Gadget, Programming