このスレッドは解決済です(未解決に戻す場合はこちら)
済 シンボリックリンクからデータベースごとにバックアップ このメッセージに返信する
日時: 2012/08/20(Mon) 09:14
名前: 水瀬
URL:
名前: 水瀬
URL:
http://centossrv.com/mysql-backup.shtml
(1)バックアップスクリプト作成
こちらで紹介されている方法で質問になります。
シンボリックリンク(ln -s)を張っているDBを取得するにはどうしたらいいでしょうか?
紹介されている方法では、mysqlだけしかバックアップできませんでした。
よろしくおねがいします。
Page: | 1 | 2 |

日時: 2012/08/25(Sat) 12:01
名前: stranger
URL: http://ja.528p.com/
名前: 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(シンボリックリンク)がつくれれるのでは?
スクリプトの実行でバックアップはうまくいったのでしょうか?

日時: 2012/08/25(Sat) 14:32
名前: 水瀬
URL:
名前: 水瀬
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
-----------------------------------------------------------------------------------------------

日時: 2012/08/25(Sat) 14:43
名前: stranger
URL: http://ja.528p.com/
名前: 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
*省略

日時: 2012/08/25(Sat) 19:33
名前: 水瀬
URL:
名前: 水瀬
URL:
>全ての BACKDIR を BACKUPDIR に変更する必要があるのでは?
http://centossrv.com/backup.shtml
ここの記述を一部併用していたようです。
指摘ありがとうございます。
おかげで希望通りの望む結果を得られました。
本当にありがとうございます。

日時: 2012/08/25(Sat) 21:01
名前: ゆり
URL:
名前: ゆり
URL:
>http://centossrv.com/backup.shtml
>ここの記述を一部併用していたようです。
>指摘ありがとうございます。
ふつう変数名が違えば別のものですよ。併用も何もそれ以前の問題ですわ
Page: | 1 | 2 |
※質問を投稿後に自己解決された場合は、原因と行った対処を具体的に書き込み下さるよう、よろしくお願いします。