Rev 3940 | Rev 4466 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
#!/bin/bash# 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"COMPARISON_LOG="${LOG_DIR}/comparison-score-computation-${DATE}.log"PRODUCT_LIST_LOG="${LOG_DIR}/product-list-${DATE}.log"HELPDOCS_LOG="${LOG_DIR}/helpdocs-generation-${DATE}.log"IR_LOG="${LOG_DIR}/irdata-generation-${DATE}.log"SOLR_IRDATA=/var/lib/tomcat6/webapps/export/solr/STAGING_SERVER="192.168.138.69"STAGING_ENTITIES_EXPORT_PATH="entities-shop2020"PROD_SERVERS="192.168.141.43 192.168.161.5 109.74.200.220"PROD_ENTITIES_EXPORT_PATH="entities-saholic"STATIC_SERVERS="173.230.151.179 178.79.184.36"SUPPORT_SERVER="192.168.149.148"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}/org/apache/thrift/libthrift/0.7.0/libthrift-0.7.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:${MAVEN_REPO}/org/apache/velocity/velocity-tools/2.0/velocity-tools-2.0.jar:${MAVEN_REPO}/com/google/code/gson/gson/1.6/gson-1.6.jar:${MAVEN_REPO}/javax/mail/mail/1.4/mail-1.4.jar"echo "Generating content for one entities ${PROJECT_DIR}"echo "======================================================="cd ${PROJECT_DIR}/ContentStorejava -cp ${M2_CLASSPATH} in.shop2020.util.ContentGenerationUtility -u CATALOG -t ALL > ${CONTENT_LOG}echo "======================================================="echo "Content generation completed"echo "Dumping item, vendoritemmapping and vendoritempricing tables to be imported on staging and production servers"echo "======================================================="cd ${PRGDIR}mysqldump -uroot -pshop2020 catalog --tables item vendor vendoritemmapping vendoritempricing source sourceitempricing > ${MYSQL_DUMP}echo "Rsyncing generated content to staging and production servers"echo "======================================================="#Update media content on both staging and productioncd /var/lib/tomcat6/webapps/exportrsync -az --delete media/ ${STAGING_SERVER}:/var/lib/tomcat6/webapps/export/media-offlinecd /var/lib/tomcat6/webapps/export/mediafor PROD_SERVER in ${PROD_SERVERS}dorsync -az --delete website ${PROD_SERVER}:/var/lib/tomcat6/webapps/export/media-offlinedonefor STATIC_SERVER in ${STATIC_SERVERS}dorsync -az --delete static ${STATIC_SERVER}:/var/www/media-offlinedonecd /var/lib/tomcat6/webapps/exportrm -f javascripts.tgzmv javascripts javascripts-${DATE}; tar -zcf javascripts.tgz javascripts-${DATE}; mv javascripts-${DATE} javascriptsscp javascripts.tgz ${STAGING_SERVER}:/var/lib/tomcat6/webapps/export/for PROD_SERVER in ${PROD_SERVERS}doscp javascripts.tgz ${PROD_SERVER}:/var/lib/tomcat6/webapps/export/donefor STATIC_SERVER in ${STATIC_SERVERS}doscp javascripts.tgz ${STATIC_SERVER}:/var/www/donersync -az --delete documents/ ${STAGING_SERVER}:/var/lib/tomcat6/webapps/export/documents-offlinefor STATIC_SERVER in ${STATIC_SERVERS}dorsync -az --delete documents/ ${STATIC_SERVER}:/var/www/documents-offlinedone#Update entities on staging using the entities-shop2020 direcotry#Update entities on production using the entities-saholic directorycd /var/lib/tomcat6/webapps/export/htmlrm -f ${STAGING_ENTITIES_EXPORT_PATH}.tgz ${PROD_ENTITIES_EXPORT_PATH}.tgzmv ${STAGING_ENTITIES_EXPORT_PATH} entities-${DATE}tar -zcf ${STAGING_ENTITIES_EXPORT_PATH}.tgz entities-${DATE}mv entities-${DATE} ${STAGING_ENTITIES_EXPORT_PATH}mv ${PROD_ENTITIES_EXPORT_PATH} entities-${DATE}tar -zcf ${PROD_ENTITIES_EXPORT_PATH}.tgz entities-${DATE}mv entities-${DATE} ${PROD_ENTITIES_EXPORT_PATH}scp ${STAGING_ENTITIES_EXPORT_PATH}.tgz ${STAGING_SERVER}:${ENTITIES_DEST_PATH}for PROD_SERVER in ${PROD_SERVERS}doscp ${PROD_ENTITIES_EXPORT_PATH}.tgz ${PROD_SERVER}:${ENTITIES_DEST_PATH}done#Update helpdocs on production and stagingcd /var/lib/tomcat6/webapps/export/htmlrm -f helpdocs.tgzmv helpdocs helpdocs-${DATE}; tar -zcf helpdocs.tgz helpdocs-${DATE}; mv helpdocs-${DATE} helpdocsscp helpdocs.tgz ${STAGING_SERVER}:/var/lib/tomcat6/webapps/export/for PROD_SERVER in ${PROD_SERVERS}doscp helpdocs.tgz ${PROD_SERVER}:/var/lib/tomcat6/webapps/export/done#Update product list data on staging and production serverscd /var/lib/tomcat6/webapps/exportrm -f partners.tgzmv partners partners-${DATE}; tar -zcf partners.tgz partners-${DATE}; mv partners-${DATE} partnersscp partners.tgz ${STAGING_SERVER}:/var/lib/tomcat6/webapps/export/for PROD_SERVER in ${PROD_SERVERS}doscp partners.tgz ${PROD_SERVER}:/var/lib/tomcat6/webapps/export/donefor STATIC_SERVER in ${STATIC_SERVERS}doscp partners.tgz ${STATIC_SERVER}:/var/wwwdone#Update solr data on staging and production serverscd /var/lib/tomcat6/webapps/exportrm -f solr.tgzmv solr solr-${DATE}; tar -zcf solr.tgz solr-${DATE}; mv solr-${DATE} solrscp solr.tgz ${STAGING_SERVER}:/var/lib/tomcat6/webapps/export/for PROD_SERVER in ${PROD_SERVERS}doscp solr.tgz ${PROD_SERVER}:/var/lib/tomcat6/webapps/export/done#Put mysql dump on staging and production serversscp ${MYSQL_DUMP} ${STAGING_SERVER}:/catalog-dumpsscp ${MYSQL_DUMP} ${SUPPORT_SERVER}:/catalog-dumpsfor PROD_SERVER in ${PROD_SERVERS}doscp ${MYSQL_DUMP} ${PROD_SERVER}:/catalog-dumpsdonessh ${STAGING_SERVER} "echo ${DATE}>/catalog-dumps/latest.timestamp"ssh ${SUPPORT_SERVER} "echo ${DATE}>/catalog-dumps/latest.timestamp"for PROD_SERVER in ${PROD_SERVERS}dossh ${PROD_SERVER} "echo ${DATE}>/catalog-dumps/latest.timestamp"donefor STATIC_SERVER in ${STATIC_SERVERS}dossh ${STATIC_SERVER} "echo ${DATE}>/catalog-dumps/latest.timestamp"doneecho "Done copying content to staging and production servers"echo "======================================================="