このスレッドは解決済です(未解決に戻す場合はこちら)
<<戻る

シンボリックリンクからデータベースごとにバックアップ このメッセージに返信する
日時: 2012/08/20(Mon) 09:14
名前: 水瀬
URL:
http://centossrv.com/mysql-backup.shtml
(1)バックアップスクリプト作成
こちらで紹介されている方法で質問になります。

シンボリックリンク(ln -s)を張っているDBを取得するにはどうしたらいいでしょうか?
紹介されている方法では、mysqlだけしかバックアップできませんでした。

よろしくおねがいします。
記事編集 編集

Page: | 1 | 2 |

Re: シンボリックリンクからデータベースごとにバックアップ このメッセージに返信する
日時: 2012/08/25(Sat) 12:01
名前: stranger
URL: http://ja.528p.com/
>mysqlhotcopy は methodとして cp コマンドを使用
>指定すればscpコマンドも使用可

server内部でコピーをとるならscp(opensshに含まれる?)を使う必要はないと思います
mysqlhotcopy scp 等でnet検索してみて下さい

>ls -F /var/lib/mysql | grep -e / -e @ | tr -d /@
mysql
www
になるのでは?

wwwがシンボリックリンクならば スクリプトを実行すると
/backup/mysql/www(シンボリックリンク)がつくれれるのでは?

スクリプトの実行でバックアップはうまくいったのでしょうか?
記事編集 編集
Re: シンボリックリンクからデータベースごとにバックアップ このメッセージに返信する
日時: 2012/08/25(Sat) 14:32
名前: 水瀬
URL:
mysqlhotcopy scpのご説明ありがとうございます。

ls -F /var/lib/mysql | grep -e / -e @ | tr -d /@
上記に付いての結果修正します。
mysql
performance_schema
www
wwwを基点に考えた結果のために書き漏らしました。

>DBLIST=`ls -F /var/lib/mysql | grep -e / -e @ | tr -d /@`
>
>www_copy/というフォルダが生成されました。
>wwwの中身はコピーされたものです。

×wwwの中身はコピーされたものです。
www_copy/の中身はwwwがコピーされたものです。

>/backup/mysql/www(シンボリックリンク)がつくれれるのでは?
作られませんでした。

>スクリプトの実行でバックアップはうまくいったのでしょうか?
この場合は、どういけばうまくいったと言うんでしょうか?
スクリプトを実行すると
mkdir: missing operand
詳しくは `mkdir --help' を実行して下さい.
と表示され(これは/var/backup/mysqlをvar/backup/mysqlにすればいいのかな?)、
/var/lib/mysql/mysql_copy/
/var/lib/mysql/www_copy/
が作られます。


以下に使用しているスクリプトを記述します。
-----------------------------------------------------------------------------------------------
#!/bin/bash

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

# バックアップ先ディレクトリ
#BACKDIR=/backup/mysql
BACKUPDIR=/var/backup/mysql

# MySQLrootパスワード
ROOTPASS=XXXXXXXX

# バックアップ先ディレクトリ再作成
rm -rf $BACKDIR
mkdir -p $BACKDIR

# データベース名取得
#DBLIST=`ls -p /var/lib/mysql | grep / | tr -d /`
#DBLIST=`find /var/lib/mysql -type l | sed -e "s/@002d/-/g"`
DBLIST=`ls -F /var/lib/mysql | grep -e / -e @ | tr -d /@`

# データベースごとにバックアップ
for dbname in $DBLIST
do
[ $dbname = "performance_schema" ] && continue
table_count=`mysql -u root -p$ROOTPASS -B -e "show tables" $dbname|wc -l`
[ $table_count -ne 0 ] &&
mysqlhotcopy $dbname -u root -p $ROOTPASS $BACKDIR | logger -t mysqlhotcopy
done
-----------------------------------------------------------------------------------------------
記事編集 編集
Re: シンボリックリンクからデータベースごとにバックアップ このメッセージに返信する
日時: 2012/08/25(Sat) 14:43
名前: stranger
URL: http://ja.528p.com/
># バックアップ先ディレクトリ
>#BACKDIR=/backup/mysql
>BACKUPDIR=/var/backup/mysql

BACKUPDIR=/var/backup/mysql
ならば
全ての BACKDIR を BACKUPDIR に変更する必要があるのでは?

*省略
rm -rf $BACKUPDIR
mkdir -p $BACKUPDIR
*省略
mysqlhotcopy $dbname -u root -p $ROOTPASS $BACKUPDIR | logger -t mysqlhotcopy
*省略
記事編集 編集
Re: シンボリックリンクからデータベースごとにバックアップ このメッセージに返信する
日時: 2012/08/25(Sat) 19:33
名前: 水瀬
URL:
>全ての BACKDIR を BACKUPDIR に変更する必要があるのでは?

http://centossrv.com/backup.shtml
ここの記述を一部併用していたようです。
指摘ありがとうございます。

おかげで希望通りの望む結果を得られました。
本当にありがとうございます。
記事編集 編集
Re: シンボリックリンクからデータベースごとにバックアップ このメッセージに返信する
日時: 2012/08/25(Sat) 21:01
名前: ゆり
URL:
>http://centossrv.com/backup.shtml
>ここの記述を一部併用していたようです。
>指摘ありがとうございます。

ふつう変数名が違えば別のものですよ。併用も何もそれ以前の問題ですわ
記事編集 編集

Page: | 1 | 2 |

件名※必須
名前※必須
URL
任意のパスワード (投稿後のコメント修正・削除時に使用)
画像認証※必須 投稿キー(画像で表示されている数字を入力)
コメント※必須

※質問を投稿後に自己解決された場合は、原因と行った対処を具体的に書き込み下さるよう、よろしくお願いします。

- WEB PATIO -