Subversion Repositories SmartDukaan

Rev

Rev 3943 | Rev 4853 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2266 chandransh 1
#!/bin/bash
2
 
4849 rajveer 3
if [ $# -lt 1 ]
4
then
5
        echo "Usage: $0 <UPDATE|ROLLBACK>"
6
        exit 1
7
fi
8
 
2266 chandransh 9
# resolve links - $0 may be a softlink
10
PRG="$0"
11
 
12
while [ -h "$PRG" ]; do
13
  ls=`ls -ld "$PRG"`
14
  link=`expr "$ls" : '.*-> \(.*\)$'`
15
  if expr "$link" : '/.*' > /dev/null; then
16
    PRG="$link"
17
  else
18
    PRG=`dirname "$PRG"`/"$link"
19
  fi
20
done
21
 
22
# Get standard environment variables
23
PRGDIR=`dirname $(readlink -f "$PRG")`
24
 
25
MEDIA_EXPORT_PATH="/var/www/"
26
PARTNERS_PATH="/var/www/static.saholic.com/partners/"
27
WEBSITE_JAVASCRIPT_PATH="/var/www/static.saholic.com/js/"
3568 chandransh 28
DATE=`date +%Y-%b-%d_%Hh%Mm`
29
LOGFILE=${MEDIA_EXPORT_PATH}/${DATE}.log               # Log file Name
30
LOGERR=${MEDIA_EXPORT_PATH}/ERRORS-${DATE}.log         # Error Log file Name
2266 chandransh 31
 
3568 chandransh 32
# IO redirection for logging.
33
touch ${LOGFILE}
34
exec 6>&1           # Link file descriptor #6 with stdout.
35
                    # Saves stdout.
36
exec > ${LOGFILE}     # stdout replaced with file ${LOGFILE}.
37
touch ${LOGERR}
38
exec 7>&2           # Link file descriptor #7 with stderr.
39
                    # Saves stderr.
40
exec 2> ${LOGERR}     # stderr replaced with file ${LOGERR}.
41
 
4849 rajveer 42
ACTION="$1"
43
DEPLOYED_TIMESTAMP=`cat /catalog-dumps/current.timestamp`
44
if [ $ACTION = "UPDATE" ]
45
then
46
        LATEST_TIMESTAMP=`cat /catalog-dumps/latest.timestamp`
47
        if [ "$DEPLOYED_TIMESTAMP" = "$LATEST_TIMESTAMP" ]
48
        then
49
                echo "Already latest version is deployed"
50
                exit 1
51
        fi
52
else
53
        LATEST_TIMESTAMP=`cat /catalog-dumps/previous.timestamp`
54
        if [ "INVALID" = "$LATEST_TIMESTAMP" ]
55
        then
56
                echo "Nothing to roll back"
57
                exit 1
58
        fi
59
fi
3943 rajveer 60
 
4849 rajveer 61
 
62
echo "Updating media files and document files"
3943 rajveer 63
echo "======================================================="
64
cd ${MEDIA_EXPORT_PATH}
4849 rajveer 65
if [ $ACTION == "UPDATE" ]
66
then
67
	rsync -az --delete media/  media-previous
68
	rsync -az --delete media-offline/  media
69
	rsync -az --delete documents/  documents-previous
70
	rsync -az --delete documents-offline/  documents
71
else
72
	rsync -az --delete media-previous/  media
73
	rsync -az --delete documents-previous/  documents
74
fi
3943 rajveer 75
 
2266 chandransh 76
echo "Updating product list for partners"
77
echo "======================================================="
78
cd ${MEDIA_EXPORT_PATH}
79
tar -zxf partners.tgz
80
unlink partners
81
ln -s partners-${LATEST_TIMESTAMP} partners
82
cp -r partners/* ${PARTNERS_PATH}
83
 
84
echo "Updating javascripts for product comparison"
85
echo "======================================================="
86
tar -zxf javascripts.tgz
87
unlink javascripts
88
ln -s javascripts-${LATEST_TIMESTAMP} javascripts
89
cp -r javascripts/* ${WEBSITE_JAVASCRIPT_PATH}
90
 
3568 chandransh 91
#Clean up IO redirection
92
exec 1>&6 6>&-      # Restore stdout and close file descriptor #6.
93
exec 2>&7 7>&-      # Restore stdout and close file descriptor #7.
94
 
95
if [ -s "${LOGERR}" ]
96
        then
97
                exit 1
98
        else
99
                exit 0
100
fi
4849 rajveer 101
 
102
if [ $ACTION == "UPDATE" ]
103
then
104
    cat /catalog-dumps/current.timestamp > /catalog-dumps/previous.timestamp
105
    echo ${LATEST_TIMESTAMP} > /catalog-dumps/current.timestamp
106
else
107
    echo ${LATEST_TIMESTAMP} > /catalog-dumps/current.timestamp
108
    echo "INVALID" > /catalog-dumps/previous.timestamp
109
fi
110