Subversion Repositories SmartDukaan

Rev

Rev 4732 | Rev 4853 | 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
 
9
# resolve links - $0 may be a softlink
10
PRG="$0"
11
 
12
while [ -h "$PRG" ]; do
13
  ls=`ls -ld "$PRG"`
14
  link=`expr "$ls" : '.*-> \(.*\)$'`
15
  if expr "$link" : '/.*' > /dev/null; then
16
    PRG="$link"
17
  else
18
    PRG=`dirname "$PRG"`/"$link"
19
  fi
20
done
21
 
22
# Get standard environment variables
23
PRGDIR=`dirname $(readlink -f "$PRG")`
24
 
25
SOLR_DIR=/root/solr/example/exampledocs
26
SOLR_SCHEMA_DIR=/root/solr/example/solr/conf
27
MEDIA_EXPORT_PATH="/var/lib/tomcat6/webapps/export/"
28
WEBSITE_ROOT_PATH="/var/lib/tomcat6/webapps/ROOT/"
29
WEBSITE_IMAGES_PATH="/var/lib/tomcat6/webapps/ROOT/images/"
30
WEBSITE_JAVASCRIPT_PATH="/var/lib/tomcat6/webapps/ROOT/js/"
31
CONTENT_EXPORT_PATH="/var/lib/tomcat6/webapps/export/html/"
32
SOLR_IRDATA="/var/lib/tomcat6/webapps/export/solr/*irdata_solr.xml"
4849 rajveer 33
DB_SERVER="$2"
34
ACTION="$1"
4096 rajveer 35
 
4849 rajveer 36
DEPLOYED_TIMESTAMP=`cat /catalog-dumps/current.timestamp`
37
if [ $ACTION = "UPDATE" ]
38
then
39
	LATEST_TIMESTAMP=`cat /catalog-dumps/latest.timestamp`
40
	if [ "$DEPLOYED_TIMESTAMP" = "$LATEST_TIMESTAMP" ]
41
	then
42
		echo "Already latest version is deployed"
43
		exit 1
44
	fi
45
else
46
	LATEST_TIMESTAMP=`cat /catalog-dumps/previous.timestamp`
47
	if [ "INVALID" = "$LATEST_TIMESTAMP" ]
48
        then
49
                echo "Nothing to roll back"
50
                exit 1
51
        fi
52
fi
4096 rajveer 53
 
4849 rajveer 54
 
55
 
56
if [ "$DB_SERVER" != "" ]
57
then
58
	echo "Updating mysql database"
59
	echo "======================================================="
60
	MYSQL_DUMP="/catalog-dumps/partial-catalog-${LATEST_TIMESTAMP}.sql"
61
	mysql -uroot -pshop2020 -h ${DB_SERVER} catalog < ${MYSQL_DUMP}
62
fi
63
 
4096 rajveer 64
echo "Updating media files"
65
echo "======================================================="
66
cd ${MEDIA_EXPORT_PATH}
4849 rajveer 67
if [ $ACTION == "UPDATE" ]
68
then
69
	rsync -az --delete media/  media-previous
70
	rsync -az --delete media-offline/  media
71
else
72
	rsync -az --delete media-previous/  media
73
fi
4096 rajveer 74
 
75
echo "Updating product list for partners"
76
echo "======================================================="
77
cd ${MEDIA_EXPORT_PATH}
78
tar -zxf partners.tgz
79
unlink partners
80
ln -s partners-${LATEST_TIMESTAMP} partners
81
 
82
echo "Updating javascripts for product comparison"
83
echo "======================================================="
84
tar -zxf javascripts.tgz
85
unlink javascripts
86
ln -s javascripts-${LATEST_TIMESTAMP} javascripts
87
cp -r javascripts/* ${WEBSITE_JAVASCRIPT_PATH}
88
 
89
 
90
echo "Updating content snippets"
91
echo "======================================================="
92
cd ${CONTENT_EXPORT_PATH}
93
tar -zxf entities.tgz
94
unlink entities
95
ln -s entities-${LATEST_TIMESTAMP} entities
96
 
97
echo "Updating helpdoc content"
98
echo "======================================================="
99
cd ${MEDIA_EXPORT_PATH}
100
tar -zxf helpdocs.tgz
4849 rajveer 101
unlink ${WEBSITE_ROOT_PATH}/helpdocs
102
ln -s helpdocs-${LATEST_TIMESTAMP} ${WEBSITE_ROOT_PATH}/helpdocs
4096 rajveer 103
 
104
echo "Updating solr schema"
105
echo "======================================================="
106
cd ${MEDIA_EXPORT_PATH}
107
tar -zxf solr.tgz
108
unlink solr
109
ln -s solr-${LATEST_TIMESTAMP} solr
110
 
111
cd ${SOLR_SCHEMA_DIR}
112
cat part1.xml > new_schema.xml
113
cat /var/lib/tomcat6/webapps/export/solr/irmetadata_solrschema.xml | sed -e 's/<?xml version="1.0" encoding="UTF-8"?>//' >> new_schema.xml
114
cat part2.xml >> new_schema.xml
115
cat /var/lib/tomcat6/webapps/export/solr/irmetadata_catchall.xml | sed -e 's/<?xml version="1.0" encoding="UTF-8"?>//'  >> new_schema.xml
116
cat part3.xml >> new_schema.xml
117
 
118
DIFF=`diff -q schema.xml new_schema.xml`
119
if [ ! -z "$DIFF" ]
120
then
121
	cp new_schema.xml schema.xml
4732 rajveer 122
	/etc/init.d/solr-server stop
123
	/etc/init.d/solr-server start
4159 rajveer 124
	sleep 15
4096 rajveer 125
fi
126
 
127
echo "Posting data to solr"
128
echo "======================================================="
129
 
130
cd ${SOLR_DIR}
131
./deleteAll.sh
132
ls ${SOLR_IRDATA} | xargs java -jar post.jar
133
echo "Done posting data to solr"
134
echo "======================================================="
135
 
4849 rajveer 136
if [ $ACTION = "UPDATE" ]
137
then
138
    cat /catalog-dumps/current.timestamp > /catalog-dumps/previous.timestamp
139
    echo ${LATEST_TIMESTAMP} > /catalog-dumps/current.timestamp
140
else
141
    echo ${LATEST_TIMESTAMP} > /catalog-dumps/current.timestamp
142
    echo "INVALID" > /catalog-dumps/previous.timestamp
143
fi
4096 rajveer 144
 
145
echo "Restarting the tomcat to clear the cache"
146
echo "======================================================="
147
/etc/init.d/tomcat6 restart
148
echo "======================================================="
149
echo "Restarted the tomcat to clear the cache"
150