<景品表示法に基づく表記>

このサイトのコンテンツには、商品プロモーションが含まれている場合があります。

雑日記&備忘録

MySQLデータベースをバックアップしよう

この投稿では、以下のサービスにおいて友達紹介リンクが使用されています。
嫌という場合は、Google等から検索するか下記URLをコピー&ペーストして直接アクセスしてください。

  • Value Domain (バリュードメイン)
    https://www.value-domain.com/

MySQLのファイルをバックアップしてXREAサーバーにも送るシェルスクリプトを作ったので備忘録として残しておきます。

「XREAサーバー」とは、私が少し前から使っている「XREA Mail & Backup」サーバーの話です。
サーバー間コピーを使っています。

XREAの設定

こんな感じ。

転送方法の違い

よく忘れるしXREAのマニュアルが雑なので残しとく。

2023/09/08追記: ふとマニュアル見たら詳しく書かれていました。未だに覚えてないので非常に助かります。。

更新(削除なし) リモート側で更新されたファイルのみコピー
ミラー(削除あり) リモート側と全く同じ状態になるようコピー
ミラー(削除なし) ローカル側に存在するファイルは削除せずコピー
差分(削除なし) ローカル側に存在しないファイルのみコピー
存在(削除なし) ローカル側にあるファイルのみコピー

参考ページ: サーバー間コピーの新規作成 | マニュアル | サポート | レンタルサーバー CORESERVER(コアサーバー)

シェルスクリプトなど

データベースの接続情報 (.db.cnf)

[client]
user=db_username
password=db_password
host=dbhost.example.com

メインファイル (dbbackup.sh)

#!/bin/bash

DATE=`date +%Y-%m-%d_%H-%M-%S`

# gzファイルに圧縮
mysqldump --defaults-extra-file=$HOME/.db_connectconfig/.db.cnf batabase_name | gzip -9 -c > $HOME/path/to/save/${DATE}.sql.gz
echo "DB Backup Completed!"

# XREAへコピーする
sh $HOME/dbcopy.sh

XREAへ送る (dbcopy.sh)

#!/bin/bash

# XREA Config
server_name=host.xrea.com
account=account_name
api_key=YourAPIKey
copy_id=1

echo "XREA: ${server_name} への送信を開始します…"
curl -X POST -H "Content-Type: application/x-www-form-urlencoded" -d "account=${account}&server_name=${server_name}&api_secret_key=${api_key}&param[no][0]=${copy_id}" https://api.xrea.com/v1/server_copy/process
echo "\n"

ちなみにcopy_idはAPIリクエストで確認してください。

 

あとはこれをcrontabでも使って動かせばOK。

XREA Mail & Backup は、月額86円からと、とても手頃な値段で使えるので結構良きです。
Value Domainに登録して、XREAサーバーも契約してみてくださいね。

ABOUT ME
鮎月 / あゆつき
DiscordのBot作ったり、気まぐれで小説書いたりする人。

COMMENT

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