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