Subversion Repositories SmartDukaan

Rev

Rev 22373 | Rev 23578 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2366 rajveer 1
#!/bin/bash
2
 
3
# resolve links - $0 may be a softlink
4
PRG="$0"
5
 
6
while [ -h "$PRG" ]; do
7
  ls=`ls -ld "$PRG"`
8
  link=`expr "$ls" : '.*-> \(.*\)$'`
9
  if expr "$link" : '/.*' > /dev/null; then
10
    PRG="$link"
11
  else
12
    PRG=`dirname "$PRG"`/"$link"
13
  fi
14
done
15
 
16
# Get standard environment variables
17
PRGDIR=`dirname $(readlink -f "$PRG")`
18
 
8576 amit.gupta 19
echo 1 > $PRGDIR/status
20
 
21
set -e
22
 
2366 rajveer 23
PROJECT_DIR="`dirname ${PRGDIR}`"
24
LOG_DIR="/var/log/content-generation"
25
DATE=`date +%Y-%b-%d-%Hh%Mm%Ss`
26
MYSQL_DUMP="${PRGDIR}/partial-catalog-${DATE}.sql"
27
CONTENT_LOG="${LOG_DIR}/content-generation-${DATE}.log"
28
COMPARISON_LOG="${LOG_DIR}/comparison-score-computation-${DATE}.log"
29
PRODUCT_LIST_LOG="${LOG_DIR}/product-list-${DATE}.log"
30
HELPDOCS_LOG="${LOG_DIR}/helpdocs-generation-${DATE}.log"
31
IR_LOG="${LOG_DIR}/irdata-generation-${DATE}.log"
32
SOLR_IRDATA=/var/lib/tomcat6/webapps/export/solr/
33
 
18286 amit.gupta 34
STAGING_SERVER="192.168.202.117"
2366 rajveer 35
STAGING_ENTITIES_EXPORT_PATH="entities-shop2020"
36
 
7395 rajveer 37
STORE_SERVER="192.168.177.42"
7394 rajveer 38
STORE_ENTITIES_EXPORT_PATH="entities-store"
39
 
20384 amit.gupta 40
PROD_SERVERS="192.168.166.159 192.168.161.5"
2366 rajveer 41
PROD_ENTITIES_EXPORT_PATH="entities-saholic"
42
 
20405 amit.gupta 43
STATIC_SERVERS="173.230.151.179 192.168.191.71"
3328 chandransh 44
SUPPORT_SERVER="192.168.149.148"
2366 rajveer 45
 
46
ENTITIES_DEST_PATH="/var/lib/tomcat6/webapps/export/html/entities.tgz"
47
 
48
MAVEN_REPO="${HOME}/.m2/repository"
8850 amit.gupta 49
M2_CLASSPATH="${MAVEN_REPO}/in/shop2020/ContentStore/1.0-SNAPSHOT/ContentStore-1.0-SNAPSHOT.jar:${MAVEN_REPO}/in/shop2020/ThriftConfig/1.0-SNAPSHOT/ThriftConfig-1.0-SNAPSHOT.jar:${MAVEN_REPO}/in/shop2020/Common/1.0-SNAPSHOT/Common-1.0-SNAPSHOT.jar:${MAVEN_REPO}/readonly/apache/velocity/1.6.3/velocity-1.6.3.jar:${MAVEN_REPO}/readonly/apache/commons-lang/2.4/commons-lang-2.4.jar:${MAVEN_REPO}/readonly/apache/commons-collections/3.2.1/commons-collections-3.2.1.jar:${MAVEN_REPO}/org/apache/thrift/libthrift/0.7.0/libthrift-0.7.0.jar:${MAVEN_REPO}/readonly/slf4j/slf4j-api/1.5.8/slf4j-api-1.5.8.jar:${MAVEN_REPO}/readonly/slf4j/slf4j-simple/1.5.8/slf4j-simple-1.5.8.jar:${MAVEN_REPO}/readonly/apache/commons-logging-api/1.1/commons-logging-api-1.1.jar:${MAVEN_REPO}/readonly/bdb/je/4.1.7/je-4.1.7.jar:${MAVEN_REPO}/readonly/jython/2.5.1/jython-2.5.1.jar:${MAVEN_REPO}/commons-cli/commons-cli/1.2/commons-cli-1.2.jar:${MAVEN_REPO}/readonly/apache/commons-io/1.3.2/commons-io-1.3.2.jar:${MAVEN_REPO}/org/json/json/20090211/json-20090211.jar:${MAVEN_REPO}/org/apache/velocity/velocity-tools/2.0/velocity-tools-2.0.jar:${MAVEN_REPO}/com/google/code/gson/gson/2.2.4/gson-2.2.4.jar:${MAVEN_REPO}/javax/mail/mail/1.4/mail-1.4.jar:${MAVEN_REPO}/readonly/apache/poi-3.6/20091214/poi-3.6-20091214.jar:${MAVEN_REPO}/readonly/apache/poi-scratchpad-3.6/20091214/poi-scratchpad-3.6-20091214.jar:${MAVEN_REPO}/commons-net/commons-net/3.0.1/commons-net-3.0.1.jar:${MAVEN_REPO}/junit/junit/4.8.2/junit-4.8.2.jar:${MAVEN_REPO}/org/mongodb/mongo-java-driver/2.11.0/mongo-java-driver-2.11.0.jar"
2366 rajveer 50
 
51
echo "Generating content for one entities ${PROJECT_DIR}"
52
echo "======================================================="
53
cd ${PROJECT_DIR}/ContentStore
9869 amit.gupta 54
java -Xms256m -Xmx512m -cp ${M2_CLASSPATH}  in.shop2020.util.ContentGenerationUtility -u CATALOG -t ALL > ${CONTENT_LOG} 
2366 rajveer 55
echo "======================================================="
56
echo "Content generation completed"
57
 
14467 amit.gupta 58
echo "Dumping vendoritemmapping and vendoritempricing tables to be imported on staging and production servers"
2366 rajveer 59
echo "======================================================="
60
cd ${PRGDIR}
18957 amit.gupta 61
mysqldump -uroot -pshop2020 catalog --tables similaritems source sourceitempricing category voucheritemmapping freebieitem entitytag amazonlisted storepricing brandinfo privatedeals bulkitempricing > ${MYSQL_DUMP}
14876 amit.gupta 62
mysql -uroot -pshop2020 catalog -e "truncate tmpitemforcat;insert into tmpitemforcat SELECT * FROM item"
63
a1=$(mysql -uroot -N -pshop2020 catalog -e "SET SESSION group_concat_max_len = 100000;select GROUP_CONCAT(b.id) from ((select a.id from (select * from tmpitem union  distinct select * from tmpitemforcat) as a group by id having count(a.id) > 1) union (select id from tmpitemforcat i1 where not exists (select * from tmpitem t where t.id = i1.id))) as b")
64
mysqldump -uroot -pshop2020 catalog item --replace --no-create-info --where="id in ($a1)" >> ${MYSQL_DUMP}
13493 amit.gupta 65
 
66
 
67
 
68
 
10572 amit.gupta 69
#get dump for siteContent
70
mongodump -d CONTENT -c siteContent
71
 
4889 amit.gupta 72
echo "======================================================"
73
echo " Validating the generated-content."
74
echo "======================================================"
75
${PRGDIR}/catalog-content-validation.sh
5104 mandeep.dh 76
#if [ $? -ne 0 ]; then
77
#	exit 1
78
#fi
3934 mandeep.dh 79
echo "Rsyncing generated content to staging and production servers"
2366 rajveer 80
echo "======================================================="
7394 rajveer 81
#Update media content on staging, store and production
2366 rajveer 82
cd /var/lib/tomcat6/webapps/export
3938 rajveer 83
rsync -az --delete media/ ${STAGING_SERVER}:/var/lib/tomcat6/webapps/export/media-offline
14138 amit.gupta 84
#cd /var/lib/tomcat6/webapps/export
19496 amit.gupta 85
#rsync -az --delete media/ ${STORE_SERVER}:/var/lib/tomcat6/webapps/export/media-offline
3938 rajveer 86
cd /var/lib/tomcat6/webapps/export/media
3147 chandransh 87
for PROD_SERVER in ${PROD_SERVERS}
88
do
11770 amit.gupta 89
	echo "Server name  ${PROD_SERVER}" 
3938 rajveer 90
	rsync -az --delete website ${PROD_SERVER}:/var/lib/tomcat6/webapps/export/media-offline
3147 chandransh 91
done
2366 rajveer 92
 
3948 rajveer 93
for STATIC_SERVER in ${STATIC_SERVERS}
11770 amit.gupta 94
do	
95
	echo "Server name ${STATIC_SERVER}"
3948 rajveer 96
	rsync -az --delete static ${STATIC_SERVER}:/var/www/media-offline
97
done
98
 
3940 rajveer 99
cd /var/lib/tomcat6/webapps/export
100
 
2366 rajveer 101
rm -f javascripts.tgz
102
mv javascripts javascripts-${DATE}; tar -zcf javascripts.tgz javascripts-${DATE}; mv javascripts-${DATE} javascripts
103
scp javascripts.tgz ${STAGING_SERVER}:/var/lib/tomcat6/webapps/export/
19496 amit.gupta 104
#scp javascripts.tgz ${STORE_SERVER}:/var/lib/tomcat6/webapps/export/
3147 chandransh 105
for PROD_SERVER in ${PROD_SERVERS}
106
do
11770 amit.gupta 107
	echo "Server name  ${PROD_SERVER}"
3147 chandransh 108
	scp javascripts.tgz ${PROD_SERVER}:/var/lib/tomcat6/webapps/export/
109
done
2366 rajveer 110
 
3948 rajveer 111
for STATIC_SERVER in ${STATIC_SERVERS}
112
do
11770 amit.gupta 113
	echo "Server name  ${STATIC_SERVER}"
3948 rajveer 114
	scp javascripts.tgz ${STATIC_SERVER}:/var/www/
115
done
11770 amit.gupta 116
echo "Server name  ${STAGING_SERVER}"
3938 rajveer 117
rsync -az --delete documents/ ${STAGING_SERVER}:/var/lib/tomcat6/webapps/export/documents-offline
19496 amit.gupta 118
#echo "Server name  ${STORE_SERVER}"
119
#rsync -az --delete documents/ ${STORE_SERVER}:/var/lib/tomcat6/webapps/export/documents-offline
3043 rajveer 120
 
3948 rajveer 121
for STATIC_SERVER in ${STATIC_SERVERS}
122
do
11770 amit.gupta 123
	echo "Server name  ${STATIC_SERVER}"
3948 rajveer 124
	rsync -az --delete documents/ ${STATIC_SERVER}:/var/www/documents-offline
125
done
126
 
2366 rajveer 127
#Update entities on staging using the entities-shop2020 direcotry
7394 rajveer 128
#Update entities on store using the entities-store direcotry
2366 rajveer 129
#Update entities on production using the entities-saholic directory
130
cd /var/lib/tomcat6/webapps/export/html
8935 amit.gupta 131
rm -f ${STAGING_ENTITIES_EXPORT_PATH}.tgz ${PROD_ENTITIES_EXPORT_PATH}.tgz ${STORE_ENTITIES_EXPORT_PATH}.tgz
2366 rajveer 132
mv ${STAGING_ENTITIES_EXPORT_PATH} entities-${DATE}
133
tar -zcf ${STAGING_ENTITIES_EXPORT_PATH}.tgz entities-${DATE}
134
mv entities-${DATE} ${STAGING_ENTITIES_EXPORT_PATH}
135
 
7394 rajveer 136
mv ${STORE_ENTITIES_EXPORT_PATH} entities-${DATE}
137
tar -zcf ${STORE_ENTITIES_EXPORT_PATH}.tgz entities-${DATE}
138
mv entities-${DATE} ${STORE_ENTITIES_EXPORT_PATH}
139
 
2366 rajveer 140
mv ${PROD_ENTITIES_EXPORT_PATH} entities-${DATE}
141
tar -zcf ${PROD_ENTITIES_EXPORT_PATH}.tgz entities-${DATE}
142
mv entities-${DATE} ${PROD_ENTITIES_EXPORT_PATH}
143
 
144
scp ${STAGING_ENTITIES_EXPORT_PATH}.tgz ${STAGING_SERVER}:${ENTITIES_DEST_PATH}
19496 amit.gupta 145
#scp ${STORE_ENTITIES_EXPORT_PATH}.tgz ${STORE_SERVER}:${ENTITIES_DEST_PATH}
3147 chandransh 146
for PROD_SERVER in ${PROD_SERVERS}
147
do
148
	scp ${PROD_ENTITIES_EXPORT_PATH}.tgz ${PROD_SERVER}:${ENTITIES_DEST_PATH}
149
done
2366 rajveer 150
 
151
#Update helpdocs on production and staging
152
cd /var/lib/tomcat6/webapps/export/html
153
rm -f helpdocs.tgz
154
mv helpdocs helpdocs-${DATE}; tar -zcf helpdocs.tgz helpdocs-${DATE}; mv helpdocs-${DATE} helpdocs
155
scp helpdocs.tgz ${STAGING_SERVER}:/var/lib/tomcat6/webapps/export/
19496 amit.gupta 156
#scp helpdocs.tgz ${STORE_SERVER}:/var/lib/tomcat6/webapps/export/
3147 chandransh 157
for PROD_SERVER in ${PROD_SERVERS}
158
do
159
	scp helpdocs.tgz ${PROD_SERVER}:/var/lib/tomcat6/webapps/export/
160
done
2366 rajveer 161
 
10572 amit.gupta 162
#Update mongo for mobile website to prod1 and shop2020
10575 amit.gupta 163
cd ${PRGDIR}
10572 amit.gupta 164
rm -f dump.tgz
165
mv dump dump-${DATE}; tar -zcf dump.tgz dump-${DATE}; mv dump-${DATE} dump
166
scp dump.tgz ${STAGING_SERVER}:/var/lib/tomcat6/webapps/export/
11035 amit.gupta 167
for PROD_SERVER in ${PROD_SERVERS}
168
do
169
	scp dump.tgz ${PROD_SERVER}:/var/lib/tomcat6/webapps/export/
170
done
10572 amit.gupta 171
 
11035 amit.gupta 172
 
2366 rajveer 173
#Update product list data on staging and production servers
174
cd /var/lib/tomcat6/webapps/export
175
rm -f partners.tgz
176
mv partners partners-${DATE}; tar -zcf partners.tgz partners-${DATE}; mv partners-${DATE} partners
177
scp partners.tgz ${STAGING_SERVER}:/var/lib/tomcat6/webapps/export/
3147 chandransh 178
for PROD_SERVER in ${PROD_SERVERS}
179
do
180
	scp partners.tgz ${PROD_SERVER}:/var/lib/tomcat6/webapps/export/
181
done
2366 rajveer 182
 
3948 rajveer 183
for STATIC_SERVER in ${STATIC_SERVERS}
184
do
185
	scp partners.tgz ${STATIC_SERVER}:/var/www
186
done
187
 
7394 rajveer 188
#Update solr data on staging, store and production servers
2366 rajveer 189
cd /var/lib/tomcat6/webapps/export
2373 rajveer 190
rm -f solr.tgz
191
mv solr solr-${DATE}; tar -zcf solr.tgz solr-${DATE}; mv solr-${DATE} solr
192
scp solr.tgz ${STAGING_SERVER}:/var/lib/tomcat6/webapps/export/
19496 amit.gupta 193
#scp solr.tgz ${STORE_SERVER}:/var/lib/tomcat6/webapps/export/
3147 chandransh 194
for PROD_SERVER in ${PROD_SERVERS}
195
do
196
	scp solr.tgz ${PROD_SERVER}:/var/lib/tomcat6/webapps/export/
197
done
2366 rajveer 198
 
199
#Put mysql dump on staging and production servers
200
scp ${MYSQL_DUMP} ${STAGING_SERVER}:/catalog-dumps
3328 chandransh 201
scp ${MYSQL_DUMP} ${SUPPORT_SERVER}:/catalog-dumps
3147 chandransh 202
for PROD_SERVER in ${PROD_SERVERS}
203
do
204
	scp ${MYSQL_DUMP} ${PROD_SERVER}:/catalog-dumps
205
done
22373 amit.gupta 206
echo "Done copying mysql-dump"
2366 rajveer 207
 
208
ssh ${STAGING_SERVER} "echo ${DATE}>/catalog-dumps/latest.timestamp"
19496 amit.gupta 209
#ssh ${STORE_SERVER} "echo ${DATE}>/catalog-dumps/latest.timestamp"
3328 chandransh 210
ssh ${SUPPORT_SERVER} "echo ${DATE}>/catalog-dumps/latest.timestamp"
22375 amit.gupta 211
echo "${a1}"
3147 chandransh 212
for PROD_SERVER in ${PROD_SERVERS}
213
do
22375 amit.gupta 214
	ssh ${PROD_SERVER} "echo ${DATE}>/catalog-dumps/latest.timestamp;echo '${a1}'>/catalog-dumps/catalog.items"
3147 chandransh 215
done
2366 rajveer 216
 
22373 amit.gupta 217
echo "Done copying mysql-dump"
218
 
3948 rajveer 219
for STATIC_SERVER in ${STATIC_SERVERS}
220
do
221
	ssh ${STATIC_SERVER} "echo ${DATE}>/catalog-dumps/latest.timestamp"
222
done
22373 amit.gupta 223
echo "Done copying to static-server"
3948 rajveer 224
 
2366 rajveer 225
echo "Done copying content to staging and production servers"
226
echo "======================================================="
8752 amit.gupta 227
echo 0 > $PRGDIR/status
14138 amit.gupta 228
if [ -z "$a1" -o "$a1" = "NULL" ]
229
then
230
	echo "a1 is empty"
231
else
232
	if [ "$1" == "PROD" ]
233
	then
14467 amit.gupta 234
		mysql -uroot -pshop2020 catalog -e "truncate tmpitem;insert into tmpitem SELECT * FROM tmpitemforcat"
14138 amit.gupta 235
	fi
236
fi