Rev 2175 | Blame | Last modification | View Log | RSS feed
#!/bin/bashif [ $# -ne 1 ]thenecho "Error - Invalid Arguments. Please enter entity id of 7 digits"exitfiENTITY_ID=$1echo $ENTITY_ID# resolve links - $0 may be a softlinkPRG="$0"while [ -h "$PRG" ]; dols=`ls -ld "$PRG"`link=`expr "$ls" : '.*-> \(.*\)$'`if expr "$link" : '/.*' > /dev/null; thenPRG="$link"elsePRG=`dirname "$PRG"`/"$link"fidone# Get standard environment variablesPRGDIR=`dirname $(readlink -f "$PRG")`PROJECT_DIR="`dirname ${PRGDIR}`"LOG_DIR="/var/log/content-generation"DATE=`date +%Y-%b-%d-%Hh%Mm%Ss`MYSQL_DUMP="${PRGDIR}/partial-catalog-${DATE}.sql"CONTENT_LOG="${LOG_DIR}/content-generation-${DATE}.log"SOLR_IRDATA=/var/lib/tomcat6/webapps/export/solr/irdata_solr#ENTITY_DATA_DIR="${PRGDIR}/${ENTITY_ID}"#`mkdir $ENTITY_DATA_DIR`STAGING_SERVER="192.168.138.69"STAGING_ENTITIES_EXPORT_PATH="entities-shop2020"PROD_SERVER="192.168.141.43"PROD_ENTITIES_EXPORT_PATH="entities-saholic"STATIC_SERVER="173.230.151.179"ENTITIES_DEST_PATH="/var/lib/tomcat6/webapps/export/html/entities.tgz"MAVEN_REPO="${HOME}/.m2/repository"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"echo "Stopping tomcat at `date +%c`"echo "======================================================="/etc/init.d/tomcat6 stopecho "Generating the icons and thumbnails for all Entitites"echo "======================================================="#cd /var/lib/tomcat6/webapps/db/media/#python2.6 ImageConverter.py default.jpg icon.jpg 120 120#python2.6 ImageConverter.py default.jpg thumbnail.jpg 60 60echo "Icons and thumbnails generated"echo "======================================================="echo "Generating content for one entities ${PROJECT_DIR}"echo "======================================================="cd ${PROJECT_DIR}/ContentStorejava -cp ${M2_CLASSPATH} in.shop2020.util.ContentGenerationUtility -t ONE -e ${ENTITY_ID} > ${CONTENT_LOG}echo "======================================================="echo "Content generation completed"/etc/init.d/tomcat6 start/etc/init.d/apache2 restartecho "Tomcat restarted at `date +%c`"echo "Dumping item, vendoritemmapping and vendoritempricing tables to be imported on staging and production servers"echo "======================================================="cd ${PRGDIR}#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}cat ${MYSQL_DUMP}#mysqldump -uroot -pshop2020 catalog --tables item vendoritemmapping vendoritempricing > ${MYSQL_DUMP}#TODO Read data of only this catalog id and prepare some UPDATE statements. These statements should be executed on production serverecho "Copying generated content to staging and production servers"echo "======================================================="#Update media content on both staging and productioncd /var/lib/tomcat6/webapps/export#rm -f media.tgz#mkdir media-${DATE}#cp -r media/${ENTITY_ID} media-${DATE}/; tar -zcf media.tgz media-${DATE}; rm -rf media-${DATE}#scp media.tgz ${STAGING_SERVER}:/var/lib/tomcat6/webapps/export/#scp media.tgz ${PROD_SERVER}:/var/lib/tomcat6/webapps/export/#scp media.tgz ${STATIC_SERVER}:/var/www/#Update entities on staging using the entities-shop2020 direcotry#Update entities on production using the entities-saholic directory#cd /var/lib/tomcat6/webapps/export/html#mkdir entities-${DATE}#rm -f ${STAGING_ENTITIES_EXPORT_PATH}.tgz ${PROD_ENTITIES_EXPORT_PATH}.tgz#cp -r ${STAGING_ENTITIES_EXPORT_PATH}/${ENTITY_ID} entities-${DATE}/#tar -zcf ${STAGING_ENTITIES_EXPORT_PATH}.tgz entities-${DATE}#rm -rf entities-${DATE}#mkdir entities-${DATE}#cp -r ${PROD_ENTITIES_EXPORT_PATH}/${ENTITY_ID} entities-${DATE}#tar -zcf ${PROD_ENTITIES_EXPORT_PATH}.tgz entities-${DATE}#rm -rf entities-${DATE}#scp ${STAGING_ENTITIES_EXPORT_PATH}.tgz ${STAGING_SERVER}:${ENTITIES_DEST_PATH}#scp ${PROD_ENTITIES_EXPORT_PATH}.tgz ${PROD_SERVER}:${ENTITIES_DEST_PATH}#Update solr data on staging and production servers#scp ${SOLR_IRDATA}.xml ${STAGING_SERVER}:${SOLR_IRDATA}-${DATE}.xml#scp ${SOLR_IRDATA}.xml ${PROD_SERVER}:${SOLR_IRDATA}-${DATE}.xml#Put mysql dump on staging and production servers#scp ${MYSQL_DUMP} ${STAGING_SERVER}:/catalog-dumps#scp ${MYSQL_DUMP} ${PROD_SERVER}:/catalog-dumps#ssh ${STAGING_SERVER} "echo ${DATE}>/catalog-dumps/latest.timestamp"#ssh ${PROD_SERVER} "echo ${DATE}>/catalog-dumps/latest.timestamp"#ssh ${STATIC_SERVER} "echo ${DATE}>/catalog-dumps/latest.timestamp"echo "Done copying content to staging and production servers"echo "======================================================="