Info kplace.plala.jpから移設しました
■目的
さくらのレンタルサーバでmySQLデータベースを使用しています。
ユーザ側でのバックアップが必須なのでcronを使って自動化します。
■環境条件
利用中のレンタルサーバの環境条件です。
OS
|
FreeBSD 9.1-RELEASE-p24 amd64
|
DB
|
mySQL 5.7
|
■スクリプト
バックアップ用のシェルスクリプトファイルmysql_dump.shを作成します。
shファイルはユーザホームディレクトリにアップしアクセス権755で実行可能にします。
今回のスクリプトのサンプルではmysqldumpコマンドは絶対パスで指定します。
エラーの内容はテキストファイルに出力され、バックアップファイルは上書きとなります。
cd /home/cbreeze
/usr/local/bin/mysqldump -Q --host=mysqlxxx.db.sakura.ne.jp
--user=DBユーザ名 --password=DBパスワード DB名 > 出力ファイル名.sql 2>
出力ファイル名.error.txt
■動作確認
TERA TERMでレンタルサーバにログインしてバックアップ動作を確認します。
% /home/userID/mysql_dump.sh
■スケジュール設定
cronでバックアップスケジュールを設定します。
[サーバコントロールパネル]にアクセスしログインます。
[cronの設定][CRON設定一覧/新規項目の追加]でCRONスケジュール設定を開きます。
[実行コマンド]と[実行日時]を指定します。
[送信]で設定終了です。
■復元
DB復元には[サーバコントロールパネル]からphpMyAdminを利用します。
[サーバコントロールパネル]にアクセスしログインします。
[アプリケーションの設定/データベースの設定/データベース一覧/管理ツールログイン]でphpMyAdminを開きます。
ログインして[インポート/アップロードファイル/ファイルを選択]します。
特に必要がなければそのまま[実行]で復元開始です。
■結果
さくらのレンタルサーバーでmySQLの自動バックアップが可能になりました。
cronの実行コマンドとして登録できないのでshファイルへは忘れずに実行権限を付与します。
サンプルのshにおいて、mysqldumpコマンドは絶対パス指定になります。