Subversion Repositories SmartDukaan

Rev

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