Subversion Repositories SmartDukaan

Rev

Rev 22374 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
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