LoginSignup
1
0

More than 5 years have passed since last update.

xrea mysql/ファイルのシェルスクリプト

Last updated at Posted at 2018-03-28

XREAでシェルスクリプトをおいてみた。目的はデータのバックアップだったのだが、XREAは無料版だと
cronが設定できないので、変更した時は手動でバックアップしてます。

参考元のだと私の環境だとmysqldumpがうまくいかなかったので、ちょっと改良してます。

1.フォルダの作成
public_html/と同じ場所にフォルダを作成

$ mkdir ~/backup-mysql

2.backup-mysqlに移動して、シェルスクリプト作成
シェルスクリプトはパーミッション700で作成

$ cd ~/backup-mysql
[backup-mysql]$ touch backup.sh
[backup-mysql]$ chmod 700 backup.sh

3.シェルスクリプトを編集
ここからは私の独自の設定です。
メール送信はXREAではできません。
※そもそもmailコマンドがない

backup.sh
#!/bin/sh

# 初期設定(ここを自分に合わせる)
DATABASE=◯◯◯◯
DBUSERNAME=◯◯◯◯
PASSWORD=◯◯◯◯
XREAUSERNAME=◯◯◯◯
PORT=9306
BACKUPDIR=backup-mysql
KEEPDAY=3
MAILADDRESS=◯◯◯◯@◯◯◯◯
PROGRAM=~/public_html/

# XREA/CORESERVER 設定
PREFIX=mysql
SERVER=localhost
NOWDATE=`date +%Y%m%d`
DESTDIR=/virtual/$XREAUSERNAME/$BACKUPDIR
DUMPFILE=$PREFIX.$NOWDATE.sql
TARFILE=$PREFIX.$NOWDATE.tar.gz
TARFILE2=$XREAUSERNAME.$NOWDATE.tar.gz
OLDDATE=`date "-d$KEEPDAY days ago" +%Y%m%d`

# MySQLダンプ/圧縮
cd $DESTDIR
mysqldump -u $DBUSERNAME -P $PORT -B $DATABASE -p$PASSWORD >$DUMPFILE
tar zcvf $TARFILE $DUMPFILE

#ソース保存 *public_html以下の特定フォルダだけの場合は後ろのパスを変える。
tar cvfz $TARFILE2 $PROGRAM --exclude downloads
#downloadsというフォルダを除外。cakephpにコピーした時に増えるので。

# 処理判定
if [ $? != 0 -o ! -e $TARFILE ]; then
    echo "backup faild -- ($DUMPFILE)"
    exit 1
fi

判定処理部分は毎日バックアップしないなら意味なし。

5.起動してみる。
本来はcronだが、XREAの無料版はcron対応していないので、手動で起動。

$ ~/backup-mysql/backup.sh

以上

参考:http://wp.graphact.com/2011/06/27/mysql-sh-backup/

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0