Subversion Repositories SmartDukaan

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2217 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"
2317 rajveer 26
HELPDOCS_LOG="${LOG_DIR}/helpdocs-generation-${DATE}.log"
2217 rajveer 27
IR_LOG="${LOG_DIR}/irdata-generation-${DATE}.log"
28
SOLR_IRDATA=/var/lib/tomcat6/webapps/export/solr/irdata_solr
29
 
30
STAGING_SERVER="192.168.138.69"
31
STAGING_ENTITIES_EXPORT_PATH="entities-shop2020"
32
 
33
PROD_SERVER="192.168.141.43"
34
PROD_ENTITIES_EXPORT_PATH="entities-saholic"
35
 
36
STATIC_SERVER="173.230.151.179"
37
 
38
ENTITIES_DEST_PATH="/var/lib/tomcat6/webapps/export/html/entities.tgz"
39
 
40
MAVEN_REPO="${HOME}/.m2/repository"
2311 chandransh 41
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}/readonly/apache/thrift/0.2.0/thrift-0.2.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"
2217 rajveer 42
 
43
echo "Stopping tomcat at `date +%c`"
44
echo "======================================================="
45
/etc/init.d/tomcat6 stop
46
 
47
echo "Generating the icons and thumbnails for all Entitites"
48
echo "======================================================="
49
cd /var/lib/tomcat6/webapps/db/media/
50
python2.6 ImageConverter.py default.jpg icon.jpg 120 120
51
python2.6 ImageConverter.py default.jpg thumbnail.jpg 60 60
52
echo "Icons and thumbnails generated"
53
echo "======================================================="
54
 
55
 
56
echo "Generating content for one entities ${PROJECT_DIR}"
57
echo "======================================================="
58
cd ${PROJECT_DIR}/ContentStore
59
java -cp ${M2_CLASSPATH}  in.shop2020.util.ContentGenerationUtility -t ALL > ${CONTENT_LOG} 
60
echo "======================================================="
61
echo "Content generation completed"
62
 
63
echo "Generating content for partners"
64
echo "======================================================="
65
cd ${PROJECT_DIR}/ContentStore
66
java -cp ${M2_CLASSPATH}  in.shop2020.util.ProductListGenerator > ${PRODUCT_LIST_LOG}
67
echo "Content generation for partners completed"
68
echo "======================================================="
69
 
2317 rajveer 70
 
71
echo "Generating content for helpdocs"
72
echo "======================================================="
73
cd ${PROJECT_DIR}/ContentStore
74
java -cp ${M2_CLASSPATH}  in.shop2020.ui.util.HelpdocsGenerator > ${HELPDOCS_LOG}
75
echo "Helpdocs Content generation  completed"
76
echo "======================================================="
77
 
78
 
2217 rajveer 79
/etc/init.d/tomcat6 start
80
/etc/init.d/apache2 restart
81
echo "Tomcat restarted at `date +%c`"
82
 
83
echo "Dumping item, vendoritemmapping and vendoritempricing tables to be imported on staging and production servers"
84
echo "======================================================="
85
cd ${PRGDIR}
86
mysqldump -uroot -pshop2020 catalog --tables item vendoritemmapping vendoritempricing > ${MYSQL_DUMP}
87
 
88
echo "Copying generated content to staging and production servers"
89
echo "======================================================="
90
#Update media content on both staging and production
91
cd /var/lib/tomcat6/webapps/export
92
rm -f media.tgz
93
mv media media-${DATE}; tar -zcf media.tgz media-${DATE}; mv media-${DATE} media
94
scp media.tgz ${STAGING_SERVER}:/var/lib/tomcat6/webapps/export/
95
scp media.tgz ${PROD_SERVER}:/var/lib/tomcat6/webapps/export/
96
scp media.tgz ${STATIC_SERVER}:/var/www/
97
 
2230 rajveer 98
rm -f javascripts.tgz
2238 rajveer 99
mv javascripts javascripts-${DATE}; tar -zcf javascripts.tgz javascripts-${DATE}; mv javascripts-${DATE} javascripts
2230 rajveer 100
scp javascripts.tgz ${STAGING_SERVER}:/var/lib/tomcat6/webapps/export/
101
scp javascripts.tgz ${PROD_SERVER}:/var/lib/tomcat6/webapps/export/
102
scp javascripts.tgz ${STATIC_SERVER}:/var/www
103
 
2217 rajveer 104
#Update entities on staging using the entities-shop2020 direcotry
105
#Update entities on production using the entities-saholic directory
106
cd /var/lib/tomcat6/webapps/export/html
107
rm -f ${STAGING_ENTITIES_EXPORT_PATH}.tgz ${PROD_ENTITIES_EXPORT_PATH}.tgz
108
mv ${STAGING_ENTITIES_EXPORT_PATH} entities-${DATE}
109
tar -zcf ${STAGING_ENTITIES_EXPORT_PATH}.tgz entities-${DATE}
110
mv entities-${DATE} ${STAGING_ENTITIES_EXPORT_PATH}
111
 
112
mv ${PROD_ENTITIES_EXPORT_PATH} entities-${DATE}
113
tar -zcf ${PROD_ENTITIES_EXPORT_PATH}.tgz entities-${DATE}
114
mv entities-${DATE} ${PROD_ENTITIES_EXPORT_PATH}
115
 
116
scp ${STAGING_ENTITIES_EXPORT_PATH}.tgz ${STAGING_SERVER}:${ENTITIES_DEST_PATH}
117
scp ${PROD_ENTITIES_EXPORT_PATH}.tgz ${PROD_SERVER}:${ENTITIES_DEST_PATH}
118
 
2317 rajveer 119
#Update helpdocs on production and staging
120
cd /var/lib/tomcat6/webapps/export/html
121
rm -f helpdocs.tgz
122
mv helpdocs helpdocs-${DATE}; tar -zcf helpdocs.tgz helpdocs-${DATE}; mv helpdocs-${DATE} helpdocs
123
scp helpdocs.tgz ${STAGING_SERVER}:/var/lib/tomcat6/webapps/export/
124
scp helpdocs.tgz ${PROD_SERVER}:/var/lib/tomcat6/webapps/export/
125
 
2217 rajveer 126
#Update product list data on staging and production servers
127
cd /var/lib/tomcat6/webapps/export
128
rm -f partners.tgz
129
mv partners partners-${DATE}; tar -zcf partners.tgz partners-${DATE}; mv partners-${DATE} partners
130
scp partners.tgz ${STAGING_SERVER}:/var/lib/tomcat6/webapps/export/
131
scp partners.tgz ${PROD_SERVER}:/var/lib/tomcat6/webapps/export/
132
scp partners.tgz ${STATIC_SERVER}:/var/www
133
 
134
#Update solr data on staging and production servers
135
scp ${SOLR_IRDATA}.xml ${STAGING_SERVER}:${SOLR_IRDATA}-${DATE}.xml
136
scp ${SOLR_IRDATA}.xml ${PROD_SERVER}:${SOLR_IRDATA}-${DATE}.xml
137
 
138
#Put mysql dump on staging and production servers
139
scp ${MYSQL_DUMP} ${STAGING_SERVER}:/catalog-dumps
140
scp ${MYSQL_DUMP} ${PROD_SERVER}:/catalog-dumps
141
 
142
ssh ${STAGING_SERVER} "echo ${DATE}>/catalog-dumps/latest.timestamp"
143
ssh ${PROD_SERVER} "echo ${DATE}>/catalog-dumps/latest.timestamp"
144
ssh ${STATIC_SERVER} "echo ${DATE}>/catalog-dumps/latest.timestamp"
145
 
146
echo "Done copying content to staging and production servers"
147
echo "======================================================="