さくらサーバー mysqlバックアップをshで取得

2012年12月4日更新 view: 629 view

shコード

sh(シェル)スクリプトを利用してのmysqlテーブルバックアップ。
簡単。以下のコードを dbdump.sh として保存。

・コピペした時のゴミ空白に注意
・文字コードは EUC 。改行コードは LF で保存
・パーミッションは 705
・全コメントを削除

古いバックアップが正常に削除されるようにコードを改変しました。
ファイルが作られた日(ファイル名じゃない。) を元に自動で削除します。
またファイル名に時間を入れたので、毎時cronで動かせば毎時のバックアップが取れます。

文字化け対策しました

直接sshでバックアップ

mysqldump -Q -h mysql304.db.sakura.ne.jp -u [username] -p[pass] --default-character-set=binary [db_name] > /home/[username]/hoge.sql

これまた、スペースとか気をつけてね。

dbdump.sh

#!/bin/sh

# ----- 設定 -----

# バックアップ元のデータベース
DBNAME=dbname
DBLOGINID=username
DBPASS=1234
DBSERVER=mysql111.db.sakura.ne.jp

PATH=/bin:/usr/bin:/usr/local/bin

# 保存する日数
bk_days=30 # ←30日後に削除される


# バックアップ先のディレクトリ・ファイル
bk_dir=/home/ユーザー名/mysqlbackup/



# ---------- 設定ここまで ----------

# タイムスタンプを取得
TSNOW=`date +%Y%m%d%H`

# ファイル名を設定
file_temp=filaname_$TSNOW.sql
file_backup=filaname_$TSNOW.tar.gz

# ---------- バックアップ処理 ----------
# バックアップ先のディレクトリに移動
cd $bk_dir
if [ $? != 0 ]; then
echo "Backup directory does not exist."
exit 1
fi

# データベースをダンプ
mysqldump -Q -h $DBSERVER -u $DBLOGINID -p$DBPASS --default-character-set=binary $DBNAME > $file_temp
if [ $? != 0 -o ! -e $file_temp ]; then
echo "Cannot dump database."
exit 1
fi

# アーカイブを作成
tar cfz $file_backup $file_temp
if [ $? != 0 -o ! -e $file_backup ]; then
echo "Cannot archive files."
exit 1
fi

# テンポラリファイルを削除
rm -f $file_temp

# ファイルを削除
find $bk_dir -name "*.tar.gz" -mtime +$bk_days -exec rm -f {} \;
ls -l $bk_dir


exit 0

アップロード

/home/account/www/ と同じ階層に

/home/account/mysqlbackup/ (777)
/home/account/shscript/ (777)
/home/account/shscript/dbdump.sh (755)

を作成。
パーミッションは それぞれ () 内の数字にする。

スポンサードリンク

必ずFTPからログインして、wwwの上階層にアクセスすること!
www以下にバックアップを作るとweb上から除かれる可能性がある。
絶対にwwwと同じ階層にファイルを作ろう。

cron設定

/bin/sh /home/account/shscript/dbdump.sh

にcronを設定。

設定完了

正常に動いているか確認するには

  • /home/account/mysqlbackup/ 内にファイルができているか?
  • コントロールパネル > メールアドレス毎の設定 > postmaster ウェブメール で結果が送信されているかを確認
  • http://www.matomater.com/6593/

これでバックアップ完了。
安心して眠れますね。

バックアップが正常に取れるか、確認はsshで直接アクセスした方が早い。
http://www.matomater.com/6593/

スポンサードリンク

関連記事

関連カテゴリ

コロ助

web関連の記事や制作系の記事をどんどんまとめていきます。 宜しくお願いします!

ピックアップ

パソコン・ソフトウェア ランキング

6月27日 ( 火 ) にアクセスが多かった記事はこちら!