Subversion Repositories SmartDukaan

Rev

Rev 7232 | Rev 10636 | Go to most recent revision | 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"
7232 amit.gupta 42
TOEMAIL="rajveer.singh@shop2020.in anupam.singh@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
97
	ln -s dump-${LATEST_TIMESTAMP} dump
98
	mongorestore --collection siteContent --db CONTENT dump/CONTENT/siteContent.bson
99
	STATUS=$(($STATUS+$?))
100
fi
101
 
4096 rajveer 102
echo "Updating product list for partners"
103
echo "======================================================="
104
tar -zxf partners.tgz
105
unlink partners
106
ln -s partners-${LATEST_TIMESTAMP} partners
4908 rajveer 107
STATUS=$(($STATUS+$?))
4096 rajveer 108
 
109
echo "Updating javascripts for product comparison"
110
echo "======================================================="
111
tar -zxf javascripts.tgz
112
unlink javascripts
113
ln -s javascripts-${LATEST_TIMESTAMP} javascripts
114
cp -r javascripts/* ${WEBSITE_JAVASCRIPT_PATH}
4908 rajveer 115
STATUS=$(($STATUS+$?))
4096 rajveer 116
 
117
 
118
echo "Updating content snippets"
119
echo "======================================================="
120
cd ${CONTENT_EXPORT_PATH}
121
tar -zxf entities.tgz
122
unlink entities
123
ln -s entities-${LATEST_TIMESTAMP} entities
4908 rajveer 124
STATUS=$(($STATUS+$?))
4096 rajveer 125
 
126
echo "Updating helpdoc content"
127
echo "======================================================="
128
cd ${MEDIA_EXPORT_PATH}
129
tar -zxf helpdocs.tgz
4928 rajveer 130
rm -rf ${WEBSITE_ROOT_PATH}/helpdocs
131
cp -r helpdocs-${LATEST_TIMESTAMP} ${WEBSITE_ROOT_PATH}/helpdocs
4908 rajveer 132
STATUS=$(($STATUS+$?))
4096 rajveer 133
 
134
echo "Updating solr schema"
135
echo "======================================================="
136
cd ${MEDIA_EXPORT_PATH}
137
tar -zxf solr.tgz
4908 rajveer 138
STATUS=$(($STATUS+$?))
4096 rajveer 139
unlink solr
4908 rajveer 140
STATUS=$(($STATUS+$?))
4096 rajveer 141
ln -s solr-${LATEST_TIMESTAMP} solr
4908 rajveer 142
STATUS=$(($STATUS+$?))
4096 rajveer 143
 
144
cd ${SOLR_SCHEMA_DIR}
145
cat part1.xml > new_schema.xml
146
cat /var/lib/tomcat6/webapps/export/solr/irmetadata_solrschema.xml | sed -e 's/<?xml version="1.0" encoding="UTF-8"?>//' >> new_schema.xml
147
cat part2.xml >> new_schema.xml
148
cat /var/lib/tomcat6/webapps/export/solr/irmetadata_catchall.xml | sed -e 's/<?xml version="1.0" encoding="UTF-8"?>//'  >> new_schema.xml
149
cat part3.xml >> new_schema.xml
150
 
151
DIFF=`diff -q schema.xml new_schema.xml`
152
if [ ! -z "$DIFF" ]
153
then
154
	cp new_schema.xml schema.xml
4732 rajveer 155
	/etc/init.d/solr-server stop
156
	/etc/init.d/solr-server start
4159 rajveer 157
	sleep 15
4096 rajveer 158
fi
159
 
160
echo "Posting data to solr"
161
echo "======================================================="
162
 
163
cd ${SOLR_DIR}
164
./deleteAll.sh
4908 rajveer 165
STATUS=$(($STATUS+$?))
4096 rajveer 166
ls ${SOLR_IRDATA} | xargs java -jar post.jar
4908 rajveer 167
STATUS=$(($STATUS+$?))
4883 rajveer 168
if [ $? -ne 0 ]
169
then
170
	SOLR_IRDATA=/var/lib/tomcat6/webapps/export/solr-${DEPLOYED_TIMESTAMP}/*irdata_solr.xml
171
	ls ${SOLR_IRDATA} | xargs java -jar post.jar
172
fi
4096 rajveer 173
echo "Done posting data to solr"
174
echo "======================================================="
175
 
4849 rajveer 176
if [ $ACTION = "UPDATE" ]
177
then
178
    cat /catalog-dumps/current.timestamp > /catalog-dumps/previous.timestamp
179
    echo ${LATEST_TIMESTAMP} > /catalog-dumps/current.timestamp
180
else
181
    echo ${LATEST_TIMESTAMP} > /catalog-dumps/current.timestamp
182
    echo "INVALID" > /catalog-dumps/previous.timestamp
183
fi
4096 rajveer 184
 
5297 rajveer 185
 
5338 rajveer 186
echo "Restarting the tomcat to clear the cache"
4096 rajveer 187
echo "======================================================="
188
/etc/init.d/tomcat6 restart
189
echo "======================================================="
5338 rajveer 190
echo "Restarted the tomcat to clear the cache"
4096 rajveer 191
 
5297 rajveer 192
 
4908 rajveer 193
if [ $STATUS -ne 0 ]
194
then
195
	exit 1
196
fi
197