| 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 |
|
| 23579 |
amit.gupta |
43 |
STATIC_SERVERS="192.168.179.131"
|
| 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
|