質問編集履歴
4
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
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
エックスサーバーでエラーログ
|
1
|
+
エックスサーバーでエラーログがテラバイト単位で蓄積される原因の解明
|
body
CHANGED
File without changes
|
2
追記
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
エラーログ、他
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文が使われてますねぇ(汗)
|