Subversion Repositories SmartDukaan

Rev

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