publish
2.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#!/bin/bash
# Upload the sources to our production server, with minimal effort.
# CONFIGURATION ################################################################
USER=mbouchemit
SERVER=storms.irap.omp.eu
REMOTE_DIR=/var/www/html/HELIOPROPA
# COLORS #######################################################################
Off='\033[0m' # Text Reset
# Regular Colors
Black='\033[0;30m' # Black
Red='\033[0;31m' # Red
Green='\033[0;32m' # Green
Yellow='\033[0;33m' # Yellow
Blue='\033[0;34m' # Blue
Purple='\033[0;35m' # Purple
Cyan='\033[0;36m' # Cyan
White='\033[0;37m' # White
# Bold
BBlack='\033[1;30m' # Black
BRed='\033[1;31m' # Red
BGreen='\033[1;32m' # Green
BYellow='\033[1;33m' # Yellow
BBlue='\033[1;34m' # Blue
BPurple='\033[1;35m' # Purple
BCyan='\033[1;36m' # Cyan
BWhite='\033[1;37m' # White
# Underline
UBlack='\033[4;30m' # Black
URed='\033[4;31m' # Red
UGreen='\033[4;32m' # Green
UYellow='\033[4;33m' # Yellow
UBlue='\033[4;34m' # Blue
UPurple='\033[4;35m' # Purple
UCyan='\033[4;36m' # Cyan
UWhite='\033[4;37m' # White
# Background
On_Black='\033[40m' # Black
On_Red='\033[41m' # Red
On_Green='\033[42m' # Green
On_Yellow='\033[43m' # Yellow
On_Blue='\033[44m' # Blue
On_Purple='\033[45m' # Purple
On_Cyan='\033[46m' # Cyan
On_White='\033[47m' # White
# LOCAL CLEANUP ################################################################
# Clear the local cache, it's good design (we're not uploading it anyways)
echo -e "${Green}Cleaning local files...${Off}"
rm -R cache/*
# UPLOAD #######################################################################
# Delete is dangerous, as we're using a file-based database
# so we need to exclude some directories and files.
echo -e "${Green}Uploading files...${Off}"
rsync -r --delete \
--exclude .git \
--exclude *.gitkeep \
--exclude .idea \
--exclude bin \
--exclude cache \
--exclude venv* \
--exclude res \
--exclude spec \
--exclude web/run.log \
--exclude web/VISITS \
. ${USER}@${SERVER}:${REMOTE_DIR}
# REMOTE CLEANUP ###############################################################
# Run some scripts on the server, now
# You're going to need in your sudoers file something like :
# mbouchemit ALL=(apache) NOPASSWD: ALL
echo -e "${Green}Cleaning remote files...${Off}"
ssh -t -t ${USER}@${SERVER} <<-ENDSSH
cd ${REMOTE_DIR}
sudo -u apache rm -Rf cache/*
exit
ENDSSH
echo -e "${BGreen}Done !${Off}"