| 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 "======================================================="
|