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
2175 rajveer 64
java -cp ${M2_CLASSPATH}  in.shop2020.util.ContentGenerationUtility -t ONE -e ${ENTITY_ID} > ${CONTENT_LOG} 
2084 rajveer 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}
2175 rajveer 75
mysql -uroot -pshop2020 catalog -e "SELECT CONCAT('UPDATE item SET id=',id,',product_group=',product_group,',brand=',brand,',model_number=',model_number,',model_name=',model_name,',color=',color,',category=',category,',comments=',comments,',catalog_item_id=',catalog_item_id,',feature_id=',feature_id,',feature_description=',feature_description,',mrp=',mrp,',mop=',mop,',sellingPrice=',sellingPrice,',dealerPrice=',dealerPrice,',transfer_price=',transfer_price,',weight=',weight,',addedOn=',addedOn,',updatedOn=',updatedOn,',startDate=',startDate,',retireDate=',retireDate,',status=',status,',status_description=',status_description,',bestDealText=',bestDealText,',bestDealValue=',bestDealValue,',bestSellingRank=',bestSellingRank,',hotspotCategory=',hotspotCategory,',defaultForEntity=',defaultForEntity,',preferredWarehouse=',preferredWarehouse,' WHERE ID=', id) FROM item WHERE catalog_item_id = ${ENTITY_ID}" | tail -n+2 > ${MYSQL_DUMP}
76
cat ${MYSQL_DUMP}
77
#mysqldump -uroot -pshop2020 catalog --tables item vendoritemmapping vendoritempricing > ${MYSQL_DUMP}
78
#TODO Read data of only this catalog id and prepare some UPDATE statements. These statements should be executed on production  server
2084 rajveer 79
 
80
echo "Copying generated content to staging and production servers"
81
echo "======================================================="
82
#Update media content on both staging and production
83
cd /var/lib/tomcat6/webapps/export
84
rm -f media.tgz
85
mkdir media-${DATE}
86
cp -r media/${ENTITY_ID} media-${DATE}/; tar -zcf media.tgz media-${DATE}; rm -rf media-${DATE}
87
scp media.tgz ${STAGING_SERVER}:/var/lib/tomcat6/webapps/export/
88
scp media.tgz ${PROD_SERVER}:/var/lib/tomcat6/webapps/export/
89
scp media.tgz ${STATIC_SERVER}:/var/www/
90
 
91
#Update entities on staging using the entities-shop2020 direcotry
92
#Update entities on production using the entities-saholic directory
93
cd /var/lib/tomcat6/webapps/export/html
94
mkdir entities-${DATE}
95
rm -f ${STAGING_ENTITIES_EXPORT_PATH}.tgz ${PROD_ENTITIES_EXPORT_PATH}.tgz
96
cp -r ${STAGING_ENTITIES_EXPORT_PATH}/${ENTITY_ID} entities-${DATE}/
97
tar -zcf ${STAGING_ENTITIES_EXPORT_PATH}.tgz entities-${DATE}
98
rm -rf entities-${DATE} 
99
 
100
mkdir entities-${DATE}
101
cp -r ${PROD_ENTITIES_EXPORT_PATH}/${ENTITY_ID} entities-${DATE}
102
tar -zcf ${PROD_ENTITIES_EXPORT_PATH}.tgz entities-${DATE}
103
rm -rf entities-${DATE} 
104
 
105
scp ${STAGING_ENTITIES_EXPORT_PATH}.tgz ${STAGING_SERVER}:${ENTITIES_DEST_PATH}
106
scp ${PROD_ENTITIES_EXPORT_PATH}.tgz ${PROD_SERVER}:${ENTITIES_DEST_PATH}
107
 
108
#Update solr data on staging and production servers
109
scp ${SOLR_IRDATA}.xml ${STAGING_SERVER}:${SOLR_IRDATA}-${DATE}.xml
110
scp ${SOLR_IRDATA}.xml ${PROD_SERVER}:${SOLR_IRDATA}-${DATE}.xml
111
 
112
#Put mysql dump on staging and production servers
113
scp ${MYSQL_DUMP} ${STAGING_SERVER}:/catalog-dumps
114
scp ${MYSQL_DUMP} ${PROD_SERVER}:/catalog-dumps
115
 
116
ssh ${STAGING_SERVER} "echo ${DATE}>/catalog-dumps/latest.timestamp"
117
ssh ${PROD_SERVER} "echo ${DATE}>/catalog-dumps/latest.timestamp"
118
ssh ${STATIC_SERVER} "echo ${DATE}>/catalog-dumps/latest.timestamp"
119
 
120
echo "Done copying content to staging and production servers"
121
echo "======================================================="