あーかいぶすハイディフィニション

ここはもう更新しとらんのじゃ

MySQL Cluster のバックアップをまとめて移動させる

移動させたい、させる。
なおバックアップに利用しているスクリプトをちゃんと改修していればこんな事にはならなかった模様。

シェルスクリプトでやった

結局シェルスクリプトを書きました。ちょっとだけ汎用性をもたせたつもりですが所詮自己満足でござ。

#!/bin/sh
#
# Using: ./movefiles.sh <$1:開始番号> <$2:終了番号>
#
STARTPRM=$1
ENDPRM=$2

FILEPATH=/var/lib/mysql-cluster/backup/BACKUP/BACKUP-
BACKUPPATH=/backup/mysqlcluster/

while [ ${ENDPRM} -ge ${STARTPRM} ]
do
  echo ${FILEPATH}${STARTPRM}"/"
  echo ${BACKUPPATH}
  mv ${FILEPATH}${STARTPRM}"/" ${BACKUPPATH}
  sleep 1
  let STARTPRM=STARTPRM+1
done

変更する箇所は以下の二箇所。コードはそのままうちで使ってるパスで書いてます。

  • FILEPATH
  • BACKUP PATH
どう使う
./movefiles.sh 1 100

これで/var/lib/mysql-cluster/backup/BACKUP/以下の BACKUP-1 から BACKUP-100 までの連番ファイルが、 /backup/mysqlcluster/ へ移動します。ファイル名末尾が連番ファイルだったらそのまま流用可能だし、ファイルの一部が連番の場合はちょいと修正すればまあ対応できるでしょう!

そもそもこんなもん作らなくてもいいように最初からバックアップのスクリプトにローテーション実装しておこうね!!!!!!11ぬ!!!!