| 4096 |
rajveer |
1 |
#!/bin/bash
|
|
|
2 |
|
|
|
3 |
if [ $# -lt 1 ]
|
|
|
4 |
then
|
| 4849 |
rajveer |
5 |
echo "Usage: $0 <UPDATE|ROLLBACK> <DB_SERVER>"
|
| 4096 |
rajveer |
6 |
exit 1
|
|
|
7 |
fi
|
|
|
8 |
|
| 4853 |
rajveer |
9 |
ACTION=$1
|
|
|
10 |
if [ $ACTION != "UPDATE" -a $ACTION != "ROLLBACK" ]
|
|
|
11 |
then
|
|
|
12 |
echo "Wrong input"
|
|
|
13 |
echo "Usage: $0 <UPDATE|ROLLBACK>"
|
|
|
14 |
exit 1
|
|
|
15 |
fi
|
|
|
16 |
|
| 4096 |
rajveer |
17 |
# resolve links - $0 may be a softlink
|
|
|
18 |
PRG="$0"
|
|
|
19 |
|
|
|
20 |
while [ -h "$PRG" ]; do
|
|
|
21 |
ls=`ls -ld "$PRG"`
|
|
|
22 |
link=`expr "$ls" : '.*-> \(.*\)$'`
|
|
|
23 |
if expr "$link" : '/.*' > /dev/null; then
|
|
|
24 |
PRG="$link"
|
|
|
25 |
else
|
|
|
26 |
PRG=`dirname "$PRG"`/"$link"
|
|
|
27 |
fi
|
|
|
28 |
done
|
|
|
29 |
|
|
|
30 |
# Get standard environment variables
|
|
|
31 |
PRGDIR=`dirname $(readlink -f "$PRG")`
|
|
|
32 |
|
|
|
33 |
SOLR_DIR=/root/solr/example/exampledocs
|
|
|
34 |
SOLR_SCHEMA_DIR=/root/solr/example/solr/conf
|
|
|
35 |
MEDIA_EXPORT_PATH="/var/lib/tomcat6/webapps/export/"
|
|
|
36 |
WEBSITE_ROOT_PATH="/var/lib/tomcat6/webapps/ROOT/"
|
|
|
37 |
WEBSITE_IMAGES_PATH="/var/lib/tomcat6/webapps/ROOT/images/"
|
|
|
38 |
WEBSITE_JAVASCRIPT_PATH="/var/lib/tomcat6/webapps/ROOT/js/"
|
|
|
39 |
CONTENT_EXPORT_PATH="/var/lib/tomcat6/webapps/export/html/"
|
|
|
40 |
SOLR_IRDATA="/var/lib/tomcat6/webapps/export/solr/*irdata_solr.xml"
|
| 4849 |
rajveer |
41 |
DB_SERVER="$2"
|
| 11839 |
amit.gupta |
42 |
TOEMAIL="amit.gupta@shop2020.in"
|
| 4096 |
rajveer |
43 |
|
| 4908 |
rajveer |
44 |
STATUS=0
|
|
|
45 |
|
| 4849 |
rajveer |
46 |
DEPLOYED_TIMESTAMP=`cat /catalog-dumps/current.timestamp`
|
|
|
47 |
if [ $ACTION = "UPDATE" ]
|
|
|
48 |
then
|
|
|
49 |
LATEST_TIMESTAMP=`cat /catalog-dumps/latest.timestamp`
|
|
|
50 |
if [ "$DEPLOYED_TIMESTAMP" = "$LATEST_TIMESTAMP" ]
|
|
|
51 |
then
|
|
|
52 |
echo "Already latest version is deployed"
|
| 5042 |
rajveer |
53 |
sendEmail -f "build@shop2020.in" -s smtp.gmail.com:587 -xu "build@shop2020.in" -xp "cafe@nes" -t $TOEMAIL -o tls=yes -u "Content updation failed" -m "Already latest version is deployed with timestamp $LATEST_TIMESTAMP"
|
| 4849 |
rajveer |
54 |
exit 1
|
|
|
55 |
fi
|
|
|
56 |
else
|
|
|
57 |
LATEST_TIMESTAMP=`cat /catalog-dumps/previous.timestamp`
|
|
|
58 |
if [ "INVALID" = "$LATEST_TIMESTAMP" ]
|
|
|
59 |
then
|
|
|
60 |
echo "Nothing to roll back"
|
|
|
61 |
exit 1
|
|
|
62 |
fi
|
|
|
63 |
fi
|
| 4096 |
rajveer |
64 |
|
| 4849 |
rajveer |
65 |
|
|
|
66 |
|
|
|
67 |
if [ "$DB_SERVER" != "" ]
|
|
|
68 |
then
|
|
|
69 |
echo "Updating mysql database"
|
|
|
70 |
echo "======================================================="
|
|
|
71 |
MYSQL_DUMP="/catalog-dumps/partial-catalog-${LATEST_TIMESTAMP}.sql"
|
|
|
72 |
mysql -uroot -pshop2020 -h ${DB_SERVER} catalog < ${MYSQL_DUMP}
|
| 4908 |
rajveer |
73 |
STATUS=$(($STATUS+$?))
|
| 5344 |
rajveer |
74 |
cd /usr/local/lib/python2.6/dist-packages/PyProj-0.1-py2.6.egg;
|
| 5985 |
rajveer |
75 |
./shop2020/model/v1/inventory/script/ClearItemAvailabilityCache.py
|
| 5344 |
rajveer |
76 |
STATUS=$(($STATUS+$?))
|
| 4849 |
rajveer |
77 |
fi
|
|
|
78 |
|
| 4096 |
rajveer |
79 |
echo "Updating media files"
|
|
|
80 |
echo "======================================================="
|
|
|
81 |
cd ${MEDIA_EXPORT_PATH}
|
| 4849 |
rajveer |
82 |
if [ $ACTION == "UPDATE" ]
|
|
|
83 |
then
|
|
|
84 |
rsync -az --delete media/ media-previous
|
|
|
85 |
rsync -az --delete media-offline/ media
|
|
|
86 |
else
|
|
|
87 |
rsync -az --delete media-previous/ media
|
|
|
88 |
fi
|
| 4908 |
rajveer |
89 |
STATUS=$(($STATUS+$?))
|
| 4096 |
rajveer |
90 |
|
| 10577 |
amit.gupta |
91 |
cd ${MEDIA_EXPORT_PATH}
|
|
|
92 |
if [ -e dump.tgz ];
|
|
|
93 |
then
|
|
|
94 |
echo "Updating mongo for site content"
|
|
|
95 |
echo "======================================================="
|
|
|
96 |
tar -zxf dump.tgz
|
| 10636 |
amit.gupta |
97 |
unlink dump
|
| 10577 |
amit.gupta |
98 |
ln -s dump-${LATEST_TIMESTAMP} dump
|
| 25450 |
amit.gupta |
99 |
#mongorestore --collection siteContent --db CONTENT dump/CONTENT/siteContent.bson --drop
|
| 10577 |
amit.gupta |
100 |
STATUS=$(($STATUS+$?))
|
|
|
101 |
fi
|
|
|
102 |
|
| 4096 |
rajveer |
103 |
echo "Updating product list for partners"
|
|
|
104 |
echo "======================================================="
|
|
|
105 |
tar -zxf partners.tgz
|
|
|
106 |
unlink partners
|
|
|
107 |
ln -s partners-${LATEST_TIMESTAMP} partners
|
| 4908 |
rajveer |
108 |
STATUS=$(($STATUS+$?))
|
| 4096 |
rajveer |
109 |
|
|
|
110 |
echo "Updating javascripts for product comparison"
|
|
|
111 |
echo "======================================================="
|
|
|
112 |
tar -zxf javascripts.tgz
|
|
|
113 |
unlink javascripts
|
|
|
114 |
ln -s javascripts-${LATEST_TIMESTAMP} javascripts
|
|
|
115 |
cp -r javascripts/* ${WEBSITE_JAVASCRIPT_PATH}
|
| 4908 |
rajveer |
116 |
STATUS=$(($STATUS+$?))
|
| 4096 |
rajveer |
117 |
|
|
|
118 |
|
|
|
119 |
echo "Updating content snippets"
|
|
|
120 |
echo "======================================================="
|
|
|
121 |
cd ${CONTENT_EXPORT_PATH}
|
|
|
122 |
tar -zxf entities.tgz
|
|
|
123 |
unlink entities
|
|
|
124 |
ln -s entities-${LATEST_TIMESTAMP} entities
|
| 4908 |
rajveer |
125 |
STATUS=$(($STATUS+$?))
|
| 4096 |
rajveer |
126 |
|
|
|
127 |
echo "Updating helpdoc content"
|
|
|
128 |
echo "======================================================="
|
|
|
129 |
cd ${MEDIA_EXPORT_PATH}
|
|
|
130 |
tar -zxf helpdocs.tgz
|
| 4928 |
rajveer |
131 |
rm -rf ${WEBSITE_ROOT_PATH}/helpdocs
|
|
|
132 |
cp -r helpdocs-${LATEST_TIMESTAMP} ${WEBSITE_ROOT_PATH}/helpdocs
|
| 4908 |
rajveer |
133 |
STATUS=$(($STATUS+$?))
|
| 4096 |
rajveer |
134 |
|
|
|
135 |
echo "Updating solr schema"
|
|
|
136 |
echo "======================================================="
|
|
|
137 |
cd ${MEDIA_EXPORT_PATH}
|
|
|
138 |
tar -zxf solr.tgz
|
| 4908 |
rajveer |
139 |
STATUS=$(($STATUS+$?))
|
| 4096 |
rajveer |
140 |
unlink solr
|
| 4908 |
rajveer |
141 |
STATUS=$(($STATUS+$?))
|
| 4096 |
rajveer |
142 |
ln -s solr-${LATEST_TIMESTAMP} solr
|
| 4908 |
rajveer |
143 |
STATUS=$(($STATUS+$?))
|
| 4096 |
rajveer |
144 |
|
|
|
145 |
cd ${SOLR_SCHEMA_DIR}
|
|
|
146 |
cat part1.xml > new_schema.xml
|
|
|
147 |
cat /var/lib/tomcat6/webapps/export/solr/irmetadata_solrschema.xml | sed -e 's/<?xml version="1.0" encoding="UTF-8"?>//' >> new_schema.xml
|
|
|
148 |
cat part2.xml >> new_schema.xml
|
|
|
149 |
cat /var/lib/tomcat6/webapps/export/solr/irmetadata_catchall.xml | sed -e 's/<?xml version="1.0" encoding="UTF-8"?>//' >> new_schema.xml
|
|
|
150 |
cat part3.xml >> new_schema.xml
|
|
|
151 |
|
|
|
152 |
DIFF=`diff -q schema.xml new_schema.xml`
|
|
|
153 |
if [ ! -z "$DIFF" ]
|
|
|
154 |
then
|
|
|
155 |
cp new_schema.xml schema.xml
|
| 4732 |
rajveer |
156 |
/etc/init.d/solr-server stop
|
|
|
157 |
/etc/init.d/solr-server start
|
| 4159 |
rajveer |
158 |
sleep 15
|
| 4096 |
rajveer |
159 |
fi
|
|
|
160 |
|
|
|
161 |
echo "Posting data to solr"
|
|
|
162 |
echo "======================================================="
|
|
|
163 |
|
|
|
164 |
cd ${SOLR_DIR}
|
|
|
165 |
./deleteAll.sh
|
| 4908 |
rajveer |
166 |
STATUS=$(($STATUS+$?))
|
| 22374 |
amit.gupta |
167 |
#python /usr/local/lib/python2.7/dist-packages/PyProj-0.1-py2.7.egg/shop2020/model/v1/catalog/script/HotspotContent.py
|
| 4096 |
rajveer |
168 |
ls ${SOLR_IRDATA} | xargs java -jar post.jar
|
| 4908 |
rajveer |
169 |
STATUS=$(($STATUS+$?))
|
| 4883 |
rajveer |
170 |
if [ $? -ne 0 ]
|
|
|
171 |
then
|
|
|
172 |
SOLR_IRDATA=/var/lib/tomcat6/webapps/export/solr-${DEPLOYED_TIMESTAMP}/*irdata_solr.xml
|
|
|
173 |
ls ${SOLR_IRDATA} | xargs java -jar post.jar
|
|
|
174 |
fi
|
| 4096 |
rajveer |
175 |
echo "Done posting data to solr"
|
|
|
176 |
echo "======================================================="
|
|
|
177 |
|
| 4849 |
rajveer |
178 |
if [ $ACTION = "UPDATE" ]
|
|
|
179 |
then
|
|
|
180 |
cat /catalog-dumps/current.timestamp > /catalog-dumps/previous.timestamp
|
|
|
181 |
echo ${LATEST_TIMESTAMP} > /catalog-dumps/current.timestamp
|
|
|
182 |
else
|
|
|
183 |
echo ${LATEST_TIMESTAMP} > /catalog-dumps/current.timestamp
|
|
|
184 |
echo "INVALID" > /catalog-dumps/previous.timestamp
|
| 20852 |
amit.gupta |
185 |
fi
|
| 4096 |
rajveer |
186 |
|
| 5297 |
rajveer |
187 |
|
| 5338 |
rajveer |
188 |
echo "Restarting the tomcat to clear the cache"
|
| 4096 |
rajveer |
189 |
echo "======================================================="
|
|
|
190 |
/etc/init.d/tomcat6 restart
|
|
|
191 |
echo "======================================================="
|
| 5338 |
rajveer |
192 |
echo "Restarted the tomcat to clear the cache"
|
| 4096 |
rajveer |
193 |
|
| 5297 |
rajveer |
194 |
|
| 4908 |
rajveer |
195 |
if [ $STATUS -ne 0 ]
|
|
|
196 |
then
|
|
|
197 |
exit 1
|
|
|
198 |
fi
|
|
|
199 |
|