VPSサーバを契約したので、バックアップを念入りにする事にした

さくらのVPSサーバを契約した。
これまで専用サーバを利用して来ましたが、VPSの方が安かったし、5年前の格安専用サーバよりスペックが高かったので乗り換えです。
せっかくなので、これまで専用サーバで利用していたMySQLのバックアップスクリプトに手を加えてバックアップを念入りにする事にした。
cronで定期的にバックアップファイルを別のサーバにコピーしておくことにした。

shスクリプトの覚え書き。

#!/bin/bash

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

BACKDIR=/backup/mysql

ROOTPASS=rootのパスワード

rm -rf $BACKDIR
mkdir -p $BACKDIR

#データベース名のリストを取り出すと何故か「.」や「-」が文字化けするのでそれを修正
DBLIST=`ls -p /var/lib/mysql | grep / | tr -d /| sed -e "s/@002e/./g"| sed -e "s/@002d/-/g"`

for dbname in $DBLIST
do
   table_count=`mysql -u root -p$ROOTPASS -B -e "show tables" $dbname|wc -l`
   [ $table_count -ne 0 ] &&
   mysqldump -u root -p$ROOTPASS $dbname --events > $BACKDIR/$dbname.sql | logger -t mysqldump
done

#ブラウザからもダウンロードできるようにApacheのルートにバックアップのzipファイルを作成
rm -rf /var/www/html/db_backup.zip
zip -q /var/www/html/db_backup.zip /backup/mysql/*

#FTP接続でさくらインターネットのレンタルサーバにバックアップファイルをアップロード
cd /var/www/html/
ftp -n さくらインターネットのID.sakura.ne.jp << _EOD
user FTPアカウント FTPパスワード
cd /home/さくらインターネットのID
ascii
put db_backup.zip
quit
_EOD

後日、レンタルサーバの方も少しいじってみました。

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です