Subversion Repositories SmartDukaan

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2084 rajveer 1
#!/bin/bash
2
 
3
if [ $# -ne 1 ]
4
then
5
    echo "Error - Invalid Arguments. Please enter entity id of 7 digits"
6
    exit
7
fi
8
ENTITY_ID=$1
9
echo $ENTITY_ID
10
# resolve links - $0 may be a softlink
11
PRG="$0"
12
 
13
while [ -h "$PRG" ]; do
14
  ls=`ls -ld "$PRG"`
15
  link=`expr "$ls" : '.*-> \(.*\)$'`
16
  if expr "$link" : '/.*' > /dev/null; then
17
    PRG="$link"
18
  else
19
    PRG=`dirname "$PRG"`/"$link"
20
  fi
21
done
22
 
23
# Get standard environment variables
24
PRGDIR=`dirname $(readlink -f "$PRG")`
25
 
26
PROJECT_DIR="`dirname ${PRGDIR}`"
27
LOG_DIR="/var/log/content-generation"
28
DATE=`date +%Y-%b-%d-%Hh%Mm%Ss`
29
MYSQL_DUMP="${PRGDIR}/partial-catalog-${DATE}.sql"
30
CONTENT_LOG="${LOG_DIR}/content-generation-${DATE}.log"
31
SOLR_IRDATA=/var/lib/tomcat6/webapps/export/solr/irdata_solr
32
#ENTITY_DATA_DIR="${PRGDIR}/${ENTITY_ID}"
33
#`mkdir $ENTITY_DATA_DIR`
34
 
35
STAGING_SERVER="192.168.138.69"
36
STAGING_ENTITIES_EXPORT_PATH="entities-shop2020"
37
 
38
PROD_SERVER="192.168.141.43"
39
PROD_ENTITIES_EXPORT_PATH="entities-saholic"
40
 
41
STATIC_SERVER="173.230.151.179"
42
 
43
ENTITIES_DEST_PATH="/var/lib/tomcat6/webapps/export/html/entities.tgz"
44
 
45
MAVEN_REPO="${HOME}/.m2/repository"
46
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"
47
 
48
echo "Stopping tomcat at `date +%c`"
49
echo "======================================================="
50
/etc/init.d/tomcat6 stop
51
 
52
echo "Generating the icons and thumbnails for all Entitites"
53
echo "======================================================="
54
cd /var/lib/tomcat6/webapps/db/media/
55
python2.6 ImageConverter.py default.jpg icon.jpg 120 120
56
python2.6 ImageConverter.py default.jpg thumbnail.jpg 60 60
57
echo "Icons and thumbnails generated"
58
echo "======================================================="
59
 
60
 
61
echo "Generating content for one entities ${PROJECT_DIR}"
62
echo "======================================================="
63
cd ${PROJECT_DIR}/ContentStore
64
java -cp ${M2_CLASSPATH}  in.shop2020.util.ContentGenerationUtility -t ONE -i ${ENTITY_ID} > ${CONTENT_LOG} 
65
echo "======================================================="
66
echo "Content generation completed"
67
 
68
/etc/init.d/tomcat6 start
69
/etc/init.d/apache2 restart
70
echo "Tomcat restarted at `date +%c`"
71
 
72
echo "Dumping item, vendoritemmapping and vendoritempricing tables to be imported on staging and production servers"
73
echo "======================================================="
74
cd ${PRGDIR}
75
mysqldump -uroot -pshop2020 catalog --tables item vendoritemmapping vendoritempricing > ${MYSQL_DUMP}
76
 
77
 
78
echo "Copying generated content to staging and production servers"
79
echo "======================================================="
80
#Update media content on both staging and production
81
cd /var/lib/tomcat6/webapps/export
82
rm -f media.tgz
83
mkdir media-${DATE}
84
cp -r media/${ENTITY_ID} media-${DATE}/; tar -zcf media.tgz media-${DATE}; rm -rf media-${DATE}
85
scp media.tgz ${STAGING_SERVER}:/var/lib/tomcat6/webapps/export/
86
scp media.tgz ${PROD_SERVER}:/var/lib/tomcat6/webapps/export/
87
scp media.tgz ${STATIC_SERVER}:/var/www/
88
 
89
#Update entities on staging using the entities-shop2020 direcotry
90
#Update entities on production using the entities-saholic directory
91
cd /var/lib/tomcat6/webapps/export/html
92
mkdir entities-${DATE}
93
rm -f ${STAGING_ENTITIES_EXPORT_PATH}.tgz ${PROD_ENTITIES_EXPORT_PATH}.tgz
94
cp -r ${STAGING_ENTITIES_EXPORT_PATH}/${ENTITY_ID} entities-${DATE}/
95
tar -zcf ${STAGING_ENTITIES_EXPORT_PATH}.tgz entities-${DATE}
96
rm -rf entities-${DATE} 
97
 
98
mkdir entities-${DATE}
99
cp -r ${PROD_ENTITIES_EXPORT_PATH}/${ENTITY_ID} entities-${DATE}
100
tar -zcf ${PROD_ENTITIES_EXPORT_PATH}.tgz entities-${DATE}
101
rm -rf entities-${DATE} 
102
 
103
scp ${STAGING_ENTITIES_EXPORT_PATH}.tgz ${STAGING_SERVER}:${ENTITIES_DEST_PATH}
104
scp ${PROD_ENTITIES_EXPORT_PATH}.tgz ${PROD_SERVER}:${ENTITIES_DEST_PATH}
105
 
106
#Update solr data on staging and production servers
107
scp ${SOLR_IRDATA}.xml ${STAGING_SERVER}:${SOLR_IRDATA}-${DATE}.xml
108
scp ${SOLR_IRDATA}.xml ${PROD_SERVER}:${SOLR_IRDATA}-${DATE}.xml
109
 
110
#Put mysql dump on staging and production servers
111
scp ${MYSQL_DUMP} ${STAGING_SERVER}:/catalog-dumps
112
scp ${MYSQL_DUMP} ${PROD_SERVER}:/catalog-dumps
113
 
114
ssh ${STAGING_SERVER} "echo ${DATE}>/catalog-dumps/latest.timestamp"
115
ssh ${PROD_SERVER} "echo ${DATE}>/catalog-dumps/latest.timestamp"
116
ssh ${STATIC_SERVER} "echo ${DATE}>/catalog-dumps/latest.timestamp"
117
 
118
echo "Done copying content to staging and production servers"
119
echo "======================================================="