Subversion Repositories SmartDukaan

Rev

Rev 3466 | Rev 3912 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2366 rajveer 1
#!/bin/bash
2
 
3
# resolve links - $0 may be a softlink
4
PRG="$0"
5
 
6
while [ -h "$PRG" ]; do
7
  ls=`ls -ld "$PRG"`
8
  link=`expr "$ls" : '.*-> \(.*\)$'`
9
  if expr "$link" : '/.*' > /dev/null; then
10
    PRG="$link"
11
  else
12
    PRG=`dirname "$PRG"`/"$link"
13
  fi
14
done
15
 
16
# Get standard environment variables
17
PRGDIR=`dirname $(readlink -f "$PRG")`
18
 
19
PROJECT_DIR="`dirname ${PRGDIR}`"
20
LOG_DIR="/var/log/content-generation"
21
DATE=`date +%Y-%b-%d-%Hh%Mm%Ss`
22
MYSQL_DUMP="${PRGDIR}/partial-catalog-${DATE}.sql"
23
CONTENT_LOG="${LOG_DIR}/content-generation-${DATE}.log"
24
COMPARISON_LOG="${LOG_DIR}/comparison-score-computation-${DATE}.log"
25
PRODUCT_LIST_LOG="${LOG_DIR}/product-list-${DATE}.log"
26
HELPDOCS_LOG="${LOG_DIR}/helpdocs-generation-${DATE}.log"
27
IR_LOG="${LOG_DIR}/irdata-generation-${DATE}.log"
28
SOLR_IRDATA=/var/lib/tomcat6/webapps/export/solr/
29
 
30
STAGING_SERVER="192.168.138.69"
31
STAGING_ENTITIES_EXPORT_PATH="entities-shop2020"
32
 
3147 chandransh 33
PROD_SERVERS="192.168.141.43 192.168.161.5"
2366 rajveer 34
PROD_ENTITIES_EXPORT_PATH="entities-saholic"
35
 
36
STATIC_SERVER="173.230.151.179"
3328 chandransh 37
SUPPORT_SERVER="192.168.149.148"
2366 rajveer 38
 
39
ENTITIES_DEST_PATH="/var/lib/tomcat6/webapps/export/html/entities.tgz"
40
 
41
MAVEN_REPO="${HOME}/.m2/repository"
3466 rajveer 42
M2_CLASSPATH="${MAVEN_REPO}/in/shop2020/ContentStore/1.0-SNAPSHOT/ContentStore-1.0-SNAPSHOT.jar:${MAVEN_REPO}/in/shop2020/ThriftConfig/1.0-SNAPSHOT/ThriftConfig-1.0-SNAPSHOT.jar:${MAVEN_REPO}/in/shop2020/Common/1.0-SNAPSHOT/Common-1.0-SNAPSHOT.jar:${MAVEN_REPO}/readonly/apache/velocity/1.6.3/velocity-1.6.3.jar:${MAVEN_REPO}/readonly/apache/commons-lang/2.4/commons-lang-2.4.jar:${MAVEN_REPO}/readonly/apache/commons-collections/3.2.1/commons-collections-3.2.1.jar:${MAVEN_REPO}/org/apache/thrift/libthrift/0.7.0/libthrift-0.7.0.jar:${MAVEN_REPO}/readonly/slf4j/slf4j-api/1.5.8/slf4j-api-1.5.8.jar:${MAVEN_REPO}/readonly/slf4j/slf4j-simple/1.5.8/slf4j-simple-1.5.8.jar:${MAVEN_REPO}/readonly/apache/commons-logging-api/1.1/commons-logging-api-1.1.jar:${MAVEN_REPO}/readonly/bdb/je/4.1.7/je-4.1.7.jar:${MAVEN_REPO}/readonly/jython/2.5.1/jython-2.5.1.jar:${MAVEN_REPO}/commons-cli/commons-cli/1.2/commons-cli-1.2.jar:${MAVEN_REPO}/readonly/apache/commons-io/1.3.2/commons-io-1.3.2.jar:${MAVEN_REPO}/org/json/json/20090211/json-20090211.jar:${MAVEN_REPO}/org/apache/velocity/velocity-tools/2.0/velocity-tools-2.0.jar:${MAVEN_REPO}/com/google/code/gson/gson/1.6/gson-1.6.jar:${MAVEN_REPO}/javax/mail/mail/1.4/mail-1.4.jar"
2366 rajveer 43
 
44
echo "Generating content for one entities ${PROJECT_DIR}"
45
echo "======================================================="
46
cd ${PROJECT_DIR}/ContentStore
47
java -cp ${M2_CLASSPATH}  in.shop2020.util.ContentGenerationUtility -u CATALOG -t ALL > ${CONTENT_LOG} 
48
echo "======================================================="
49
echo "Content generation completed"
50
 
51
echo "Dumping item, vendoritemmapping and vendoritempricing tables to be imported on staging and production servers"
52
echo "======================================================="
53
cd ${PRGDIR}
3577 rajveer 54
mysqldump -uroot -pshop2020 catalog --tables item vendoritemmapping vendoritempricing source sourceitempricing > ${MYSQL_DUMP}
2366 rajveer 55
 
56
echo "Copying generated content to staging and production servers"
57
echo "======================================================="
58
#Update media content on both staging and production
59
cd /var/lib/tomcat6/webapps/export
60
rm -f media.tgz
61
mv media media-${DATE}; tar -zcf media.tgz media-${DATE}; mv media-${DATE} media
62
scp media.tgz ${STAGING_SERVER}:/var/lib/tomcat6/webapps/export/
3147 chandransh 63
for PROD_SERVER in ${PROD_SERVERS}
64
do
65
	scp media.tgz ${PROD_SERVER}:/var/lib/tomcat6/webapps/export/
66
done
2366 rajveer 67
scp media.tgz ${STATIC_SERVER}:/var/www/
68
 
69
rm -f javascripts.tgz
70
mv javascripts javascripts-${DATE}; tar -zcf javascripts.tgz javascripts-${DATE}; mv javascripts-${DATE} javascripts
71
scp javascripts.tgz ${STAGING_SERVER}:/var/lib/tomcat6/webapps/export/
3147 chandransh 72
for PROD_SERVER in ${PROD_SERVERS}
73
do
74
	scp javascripts.tgz ${PROD_SERVER}:/var/lib/tomcat6/webapps/export/
75
done
3043 rajveer 76
scp javascripts.tgz ${STATIC_SERVER}:/var/www/
2366 rajveer 77
 
3043 rajveer 78
rm -f documents.tgz
3047 rajveer 79
mv documents documents-${DATE}; tar -zcf documents.tgz documents-${DATE}; mv documents-${DATE} documents
3043 rajveer 80
scp documents.tgz ${STAGING_SERVER}:/var/lib/tomcat6/webapps/export/
3147 chandransh 81
for PROD_SERVER in ${PROD_SERVERS}
82
do
83
	scp documents.tgz ${PROD_SERVER}:/var/lib/tomcat6/webapps/export/
84
done
3043 rajveer 85
scp documents.tgz ${STATIC_SERVER}:/var/www/
86
 
87
 
2366 rajveer 88
#Update entities on staging using the entities-shop2020 direcotry
89
#Update entities on production using the entities-saholic directory
90
cd /var/lib/tomcat6/webapps/export/html
91
rm -f ${STAGING_ENTITIES_EXPORT_PATH}.tgz ${PROD_ENTITIES_EXPORT_PATH}.tgz
92
mv ${STAGING_ENTITIES_EXPORT_PATH} entities-${DATE}
93
tar -zcf ${STAGING_ENTITIES_EXPORT_PATH}.tgz entities-${DATE}
94
mv entities-${DATE} ${STAGING_ENTITIES_EXPORT_PATH}
95
 
96
mv ${PROD_ENTITIES_EXPORT_PATH} entities-${DATE}
97
tar -zcf ${PROD_ENTITIES_EXPORT_PATH}.tgz entities-${DATE}
98
mv entities-${DATE} ${PROD_ENTITIES_EXPORT_PATH}
99
 
100
scp ${STAGING_ENTITIES_EXPORT_PATH}.tgz ${STAGING_SERVER}:${ENTITIES_DEST_PATH}
3147 chandransh 101
for PROD_SERVER in ${PROD_SERVERS}
102
do
103
	scp ${PROD_ENTITIES_EXPORT_PATH}.tgz ${PROD_SERVER}:${ENTITIES_DEST_PATH}
104
done
2366 rajveer 105
 
106
#Update helpdocs on production and staging
107
cd /var/lib/tomcat6/webapps/export/html
108
rm -f helpdocs.tgz
109
mv helpdocs helpdocs-${DATE}; tar -zcf helpdocs.tgz helpdocs-${DATE}; mv helpdocs-${DATE} helpdocs
110
scp helpdocs.tgz ${STAGING_SERVER}:/var/lib/tomcat6/webapps/export/
3147 chandransh 111
for PROD_SERVER in ${PROD_SERVERS}
112
do
113
	scp helpdocs.tgz ${PROD_SERVER}:/var/lib/tomcat6/webapps/export/
114
done
2366 rajveer 115
 
116
#Update product list data on staging and production servers
117
cd /var/lib/tomcat6/webapps/export
118
rm -f partners.tgz
119
mv partners partners-${DATE}; tar -zcf partners.tgz partners-${DATE}; mv partners-${DATE} partners
120
scp partners.tgz ${STAGING_SERVER}:/var/lib/tomcat6/webapps/export/
3147 chandransh 121
for PROD_SERVER in ${PROD_SERVERS}
122
do
123
	scp partners.tgz ${PROD_SERVER}:/var/lib/tomcat6/webapps/export/
124
done
2366 rajveer 125
scp partners.tgz ${STATIC_SERVER}:/var/www
126
 
127
#Update solr data on staging and production servers
128
cd /var/lib/tomcat6/webapps/export
2373 rajveer 129
rm -f solr.tgz
130
mv solr solr-${DATE}; tar -zcf solr.tgz solr-${DATE}; mv solr-${DATE} solr
131
scp solr.tgz ${STAGING_SERVER}:/var/lib/tomcat6/webapps/export/
3147 chandransh 132
for PROD_SERVER in ${PROD_SERVERS}
133
do
134
	scp solr.tgz ${PROD_SERVER}:/var/lib/tomcat6/webapps/export/
135
done
2366 rajveer 136
 
137
#Put mysql dump on staging and production servers
138
scp ${MYSQL_DUMP} ${STAGING_SERVER}:/catalog-dumps
3328 chandransh 139
scp ${MYSQL_DUMP} ${SUPPORT_SERVER}:/catalog-dumps
3147 chandransh 140
for PROD_SERVER in ${PROD_SERVERS}
141
do
142
	scp ${MYSQL_DUMP} ${PROD_SERVER}:/catalog-dumps
143
done
2366 rajveer 144
 
145
ssh ${STAGING_SERVER} "echo ${DATE}>/catalog-dumps/latest.timestamp"
3328 chandransh 146
ssh ${SUPPORT_SERVER} "echo ${DATE}>/catalog-dumps/latest.timestamp"
3147 chandransh 147
for PROD_SERVER in ${PROD_SERVERS}
148
do
149
	ssh ${PROD_SERVER} "echo ${DATE}>/catalog-dumps/latest.timestamp"
150
done
2366 rajveer 151
ssh ${STATIC_SERVER} "echo ${DATE}>/catalog-dumps/latest.timestamp"
152
 
153
echo "Done copying content to staging and production servers"
154
echo "======================================================="