teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

4

2017/01/03 07:58

投稿

ssmxgo
ssmxgo

スコア178

title CHANGED
File without changes
body CHANGED
@@ -36,6 +36,95 @@
36
36
  > >>> /home/xaccount/mydomain.com/public_html/shell/db_exp.sh: line 11: read: read error: 0: Invalid argument
37
37
  > >>> /home/xaccount/mydomain.com/public_html/shell/db_exp.sh: line 11: read: read error: 0: Invalid argument
38
38
 
39
+ 追記2
40
+ ```lang-bash
41
+ #!/bin/sh
42
+ #オリジナル=>テスト環境コピー
43
+ DB_USER=xxxx
44
+ DB_PASS=xxxx
45
+ DB_HOST_DEF=mysqlxxxx.xsrv.jp
46
+ DOMAIN=mydomain.com
47
+
48
+ if [ ! $1 ]; then
49
+ echo "元データベース名を入力してください"
50
+ read EX_DB_NAE
51
+ TEMP=${EX_DB_NAME:=def_db_name}
52
+ else
53
+ #引数1番めの指定を反映
54
+ EX_DB_NAME=$1;
55
+ fi
56
+ #echo $EX_DB_NAME
57
+
58
+ if [ ! $2 ]; then
59
+ while [ ! $IM_DB_NAME ]
60
+ do
61
+ echo "送り先データベース名を入力してください"
62
+ read IM_DB_NAME
63
+ done
64
+ else
65
+ #引数2番めの指定を反映
66
+ IM_DB_NAME=$2;
67
+ fi
68
+ #echo $IM_DB_NAME
69
+
70
+ if [ ! $3 ]; then
71
+ while [ ! $SUBDOMAIN ]
72
+ do
73
+ echo "インストール先のサブドメイン(ディレクトリ名)を入力してください"
74
+ read SUBDOMAIN
75
+ done
76
+ else
77
+ #引数3番めの指定を反映
78
+ SUBDOMAIN=$3;
79
+ fi
80
+ #echo $SUBDOMAIN
81
+
82
+ if [ ! $4 ]; then
83
+ echo "データベースホストを入力してください(デフォルト: ${DB_HOST_DEF})"
84
+ read DB_HOST
85
+ TEMP=${DB_HOST:=$4}
86
+ TEMP=${DB_HOST:=${DB_HOST_DEF}}
87
+ else
88
+ #引数4番めの指定を反映
89
+ DB_HOST=$4;
90
+ fi
91
+ #echo $DB_HOST
92
+
93
+ if [ ! $5 ]; then
94
+ echo "カスタマIDをを入力してください(デフォルト: null)"
95
+ read HID
96
+ TEMP=${HID:=$5}
97
+ TEMP=${HID:=NULL}
98
+ else
99
+ #引数4番めの指定を反映
100
+ HID=$5;
101
+ fi
102
+ #echo $HID
103
+
104
+ echo "●設定"
105
+
106
+ #dev db->export
107
+ echo "DB->export ${EX_DB_NAME}"
108
+ mysqldump --single-transaction -h${DB_HOST} -u${DB_USER} -p${DB_PASS} ${EX_DB_NAME} > $(cd $(dirname $0) && pwd)/db.dump
109
+
110
+ #new db<-import
111
+ echo "DB<-import ${IM_DB_NAME}"
112
+ mysql -h${DB_HOST} -u${DB_USER} -p${DB_PASS} ${IM_DB_NAME} < $(cd $(dirname $0) && pwd)/db.dump
113
+
114
+ #set wp-options
115
+ echo "Wordpress setting... ${IM_DB_NAME}"
116
+ mysql -h${DB_HOST} -u${DB_USER} -p${DB_PASS} ${IM_DB_NAME} -e "UPDATE wp_options SET option_value='http://${SUBDOMAIN}.${DOMAIN}/wp' WHERE option_name='siteurl';"
117
+ mysql -h${DB_HOST} -u${DB_USER} -p${DB_PASS} ${IM_DB_NAME} -e "UPDATE wp_options SET option_value='http://${SUBDOMAIN}.${DOMAIN}' WHERE option_name='home';"
118
+
119
+ #wordpress config
120
+ echo "Wordpress setting... "
121
+ cat $(cd $(dirname $0) && pwd)/../wp/wp-config-base.php | sed -e "s/database_name_here/${IM_DB_NAME}/g" | sed -e "s/localhost/${DB_HOST}/g" > /home/xaccount/${DOMAIN}
122
+ /public_html/${SUBDOMAIN}/wp/wp-config.php
123
+
124
+
125
+ echo "スクリプト終了"
126
+ ```
127
+
39
128
  これらがとんでもない量のエラーログを吐き出す原因になるのでしょうか?今はエックスサーバーのアカウントログインを制限されログを確認することができません
40
129
 
41
130
  以下、詳細です

3

2017/01/03 07:57

投稿

ssmxgo
ssmxgo

スコア178

title CHANGED
@@ -1,1 +1,1 @@
1
- エックスサーバーでエラーログ○TBBAN直前(泣)
1
+ エックスサーバーでエラーログがテラバイト単位蓄積される原因の解明
body CHANGED
File without changes

2

追記

2017/01/03 03:26

投稿

ssmxgo
ssmxgo

スコア178

title CHANGED
File without changes
body CHANGED
@@ -50,7 +50,10 @@
50
50
  ##しがない考察
51
51
  個人的に結論として、数百GB〜数TBのログ(にわかには信じられなかった)が一般公開していないページのリダイレクト不具合で貯まるとも考え難く、シェルの書き方、MySQLの理解に問題があったのではないかと思い問題解決の手がかりのご教授いただきたく書き込ませていただきました。
52
52
 
53
+ 追記
54
+ シェルに while文が使われてますねぇ。こいつがタイムアウトせず延々と走り続けるということはあるのでしょうか。ここも改めて見直してみます
53
55
 
56
+
54
57
  ## アプリケーションの仕様
55
58
 
56
59
  [**エックスサーバー**](https://www.xserver.ne.jp/)**での運用**

1

エラーログ、他

2017/01/02 22:04

投稿

ssmxgo
ssmxgo

スコア178

title CHANGED
File without changes
body CHANGED
@@ -17,8 +17,27 @@
17
17
 
18
18
  これは phpMyAdmin にてdb.dump を手動でインポートする際に特に中身を編集せずに違うデーターベース名、違うホスト名にそのまま取り込めたことに起因します。
19
19
 
20
+ 追記です
21
+ ```lang-bash
22
+ 7 if [ ! $1 ]; then
23
+ 8 while [ ! $EX_DB_NAME ]
24
+ 9 do
25
+ 10 echo "元データベース名を入力してください"
26
+ 11 read EX_DB_NAME
27
+ 12 done
28
+ 13 else
29
+ 14 #引数1番めの指定を反映
30
+ 15 EX_DB_NAME=$1
31
+ 16 fi
32
+ ```
33
+ に対して以下の指摘も受けました
34
+ > >>> ▼下記のエラーが多数出力されておりました
20
- これがとんでもない量のエラーログを吐き出す原因になるのでしょうか?今はエックスサーバーのアカウントログインを制限されログを確認することができません
35
+ > >>> --------------------------------------------------
36
+ > >>> /home/xaccount/mydomain.com/public_html/shell/db_exp.sh: line 11: read: read error: 0: Invalid argument
37
+ > >>> /home/xaccount/mydomain.com/public_html/shell/db_exp.sh: line 11: read: read error: 0: Invalid argument
21
38
 
39
+ これらがとんでもない量のエラーログを吐き出す原因になるのでしょうか?今はエックスサーバーのアカウントログインを制限されログを確認することができません
40
+
22
41
  以下、詳細です
23
42
 
24
43
 
@@ -81,4 +100,28 @@
81
100
 
82
101
  ## 補足
83
102
 
84
- 後ほど、ローカル環境でログを取ることができましたらログを書き込む予定です。
103
+ 後ほど、ローカル環境でログを取ることができましたらログを書き込む予定です。
104
+ →エラーというほどの内容は吐かれず正常にインポートできているような…
105
+
106
+ ## 補足2
107
+ エックスサーバーからの指摘のエラー内容は以下
108
+ > >>> ▼下記のエラーが多数出力されておりました
109
+ > >>> --------------------------------------------------
110
+ > >>> /home/xaccount/mydomain.com/public_html/shell/db_exp.sh: line 11: read: read error: 0: Invalid argument
111
+ > >>> /home/xaccount/mydomain.com/public_html/shell/db_exp.sh: line 11: read: read error: 0: Invalid argument
112
+
113
+ その部分のコードは以下です。ここは直接SQLとは関係ないところです
114
+ ```lang-bash
115
+ 7 if [ ! $1 ]; then
116
+ 8 while [ ! $EX_DB_NAME ]
117
+ 9 do
118
+ 10 echo "元データベース名を入力してください"
119
+ 11 read EX_DB_NAME
120
+ 12 done
121
+ 13 else
122
+ 14 #引数1番めの指定を反映
123
+ 15 EX_DB_NAME=$1
124
+ 16 fi
125
+ ```
126
+
127
+ なんか、ここでGBクラスのログが吐かれるとは思ってもいなかったのですが、よく見たらwhile文が使われてますねぇ(汗)