Subversion Repositories SmartDukaan

Rev

Rev 4908 | Rev 5042 | 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"
4096 rajveer 42
 
4908 rajveer 43
STATUS=0
44
 
4849 rajveer 45
DEPLOYED_TIMESTAMP=`cat /catalog-dumps/current.timestamp`
46
if [ $ACTION = "UPDATE" ]
47
then
48
	LATEST_TIMESTAMP=`cat /catalog-dumps/latest.timestamp`
49
	if [ "$DEPLOYED_TIMESTAMP" = "$LATEST_TIMESTAMP" ]
50
	then
51
		echo "Already latest version is deployed"
52
		exit 1
53
	fi
54
else
55
	LATEST_TIMESTAMP=`cat /catalog-dumps/previous.timestamp`
56
	if [ "INVALID" = "$LATEST_TIMESTAMP" ]
57
        then
58
                echo "Nothing to roll back"
59
                exit 1
60
        fi
61
fi
4096 rajveer 62
 
4849 rajveer 63
 
64
 
65
if [ "$DB_SERVER" != "" ]
66
then
67
	echo "Updating mysql database"
68
	echo "======================================================="
69
	MYSQL_DUMP="/catalog-dumps/partial-catalog-${LATEST_TIMESTAMP}.sql"
70
	mysql -uroot -pshop2020 -h ${DB_SERVER} catalog < ${MYSQL_DUMP}
4908 rajveer 71
	STATUS=$(($STATUS+$?))
4849 rajveer 72
fi
73
 
4096 rajveer 74
echo "Updating media files"
75
echo "======================================================="
76
cd ${MEDIA_EXPORT_PATH}
4849 rajveer 77
if [ $ACTION == "UPDATE" ]
78
then
79
	rsync -az --delete media/  media-previous
80
	rsync -az --delete media-offline/  media
81
else
82
	rsync -az --delete media-previous/  media
83
fi
4908 rajveer 84
STATUS=$(($STATUS+$?))
4096 rajveer 85
 
86
echo "Updating product list for partners"
87
echo "======================================================="
88
cd ${MEDIA_EXPORT_PATH}
89
tar -zxf partners.tgz
90
unlink partners
91
ln -s partners-${LATEST_TIMESTAMP} partners
4908 rajveer 92
STATUS=$(($STATUS+$?))
4096 rajveer 93
 
94
echo "Updating javascripts for product comparison"
95
echo "======================================================="
96
tar -zxf javascripts.tgz
97
unlink javascripts
98
ln -s javascripts-${LATEST_TIMESTAMP} javascripts
99
cp -r javascripts/* ${WEBSITE_JAVASCRIPT_PATH}
4908 rajveer 100
STATUS=$(($STATUS+$?))
4096 rajveer 101
 
102
 
103
echo "Updating content snippets"
104
echo "======================================================="
105
cd ${CONTENT_EXPORT_PATH}
106
tar -zxf entities.tgz
107
unlink entities
108
ln -s entities-${LATEST_TIMESTAMP} entities
4908 rajveer 109
STATUS=$(($STATUS+$?))
4096 rajveer 110
 
111
echo "Updating helpdoc content"
112
echo "======================================================="
113
cd ${MEDIA_EXPORT_PATH}
114
tar -zxf helpdocs.tgz
4928 rajveer 115
rm -rf ${WEBSITE_ROOT_PATH}/helpdocs
116
cp -r helpdocs-${LATEST_TIMESTAMP} ${WEBSITE_ROOT_PATH}/helpdocs
4908 rajveer 117
STATUS=$(($STATUS+$?))
4096 rajveer 118
 
119
echo "Updating solr schema"
120
echo "======================================================="
121
cd ${MEDIA_EXPORT_PATH}
122
tar -zxf solr.tgz
4908 rajveer 123
STATUS=$(($STATUS+$?))
4096 rajveer 124
unlink solr
4908 rajveer 125
STATUS=$(($STATUS+$?))
4096 rajveer 126
ln -s solr-${LATEST_TIMESTAMP} solr
4908 rajveer 127
STATUS=$(($STATUS+$?))
4096 rajveer 128
 
129
cd ${SOLR_SCHEMA_DIR}
130
cat part1.xml > new_schema.xml
131
cat /var/lib/tomcat6/webapps/export/solr/irmetadata_solrschema.xml | sed -e 's/<?xml version="1.0" encoding="UTF-8"?>//' >> new_schema.xml
132
cat part2.xml >> new_schema.xml
133
cat /var/lib/tomcat6/webapps/export/solr/irmetadata_catchall.xml | sed -e 's/<?xml version="1.0" encoding="UTF-8"?>//'  >> new_schema.xml
134
cat part3.xml >> new_schema.xml
135
 
136
DIFF=`diff -q schema.xml new_schema.xml`
137
if [ ! -z "$DIFF" ]
138
then
139
	cp new_schema.xml schema.xml
4732 rajveer 140
	/etc/init.d/solr-server stop
141
	/etc/init.d/solr-server start
4159 rajveer 142
	sleep 15
4096 rajveer 143
fi
144
 
145
echo "Posting data to solr"
146
echo "======================================================="
147
 
148
cd ${SOLR_DIR}
149
./deleteAll.sh
4908 rajveer 150
STATUS=$(($STATUS+$?))
4096 rajveer 151
ls ${SOLR_IRDATA} | xargs java -jar post.jar
4908 rajveer 152
STATUS=$(($STATUS+$?))
4883 rajveer 153
if [ $? -ne 0 ]
154
then
155
	SOLR_IRDATA=/var/lib/tomcat6/webapps/export/solr-${DEPLOYED_TIMESTAMP}/*irdata_solr.xml
156
	ls ${SOLR_IRDATA} | xargs java -jar post.jar
157
fi
4096 rajveer 158
echo "Done posting data to solr"
159
echo "======================================================="
160
 
4849 rajveer 161
if [ $ACTION = "UPDATE" ]
162
then
163
    cat /catalog-dumps/current.timestamp > /catalog-dumps/previous.timestamp
164
    echo ${LATEST_TIMESTAMP} > /catalog-dumps/current.timestamp
165
else
166
    echo ${LATEST_TIMESTAMP} > /catalog-dumps/current.timestamp
167
    echo "INVALID" > /catalog-dumps/previous.timestamp
168
fi
4096 rajveer 169
 
170
echo "Restarting the tomcat to clear the cache"
171
echo "======================================================="
172
/etc/init.d/tomcat6 restart
173
echo "======================================================="
174
echo "Restarted the tomcat to clear the cache"
175
 
4908 rajveer 176
if [ $STATUS -ne 0 ]
177
then
178
	exit 1
179
fi
180