-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathinstall.sh
More file actions
101 lines (89 loc) · 3.06 KB
/
install.sh
File metadata and controls
101 lines (89 loc) · 3.06 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
96
97
98
99
100
101
main() {
# Use colors, but only if connected to a terminal, and that terminal
# supports them.
if which tput >/dev/null 2>&1; then
ncolors=$(tput colors)
fi
if [ -t 1 ] && [ -n "$ncolors" ] && [ "$ncolors" -ge 8 ]; then
RED="$(tput setaf 1)"
GREEN="$(tput setaf 2)"
YELLOW="$(tput setaf 3)"
BLUE="$(tput setaf 4)"
BOLD="$(tput bold)"
NORMAL="$(tput sgr0)"
else
RED=""
GREEN=""
YELLOW=""
BLUE=""
BOLD=""
NORMAL=""
fi
# Only enable exit-on-error after the non-critical colorization stuff,
# which may fail on systems lacking tput or terminfo
set -e
RVM='Y'
RBENV='Y'
hash rvm > /dev/null 2>&1 || {
RVM='N'
RBENV='Y'
hash rbenv > /dev/null 2>&1 || {
RVM='N'
RVM='N'
echo 'nor rbenv or rvm found please install one!'
exit 1
}
}
printf "${BLUE}Installing gems dependencies...${NORMAL}\n"
gem install dropbox-sdk-v2 || {
echo "Error installing dropbox-sdk-v2 gem"
exit 1
}
printf "${BLUE}Cloning Dropbox database backup...${NORMAL}\n"
hash git > /dev/null 2>&1 || {
echo "Error: git is not installed"
exit 1
}
env git clone --depth=1 https://github.com/codn/dropbox-database-backup.git ~/dropbox-database-backup || {
echo "Error: git clone of drobbox-database-backup repo failed"
exit 1
}
hash crontab > /dev/null 2>&1 || {
echo "Error: crontab is not installed"
exit 1
}
printf "${BLUE}Setting up the crontab...${NORMAL}\n"
if [ "$RVM" = "Y" ]; then
rvm cron setup
RVM_CMD="30 2 * * * ruby /home/deploy/dropbox-database-backup/backup.rb >> /home/deploy/dropbox-database-backup/backup-cron.log 2>&1"
(crontab -u `whoami` -l; echo "$RVM_CMD") | crontab -u `whoami` - || {
echo "Errror installing crontab with rvm"
exit 1
}
fi
if [ "$RBENV" = "Y" ]; then
RBENV_CMD="30 2 * * * /home/`whoami`/.rbenv/shims/ruby /home/`whoami`/dropbox-database-backup/backup.rb >> /home/`whoami`/dropbox-database-backup/backup-cron.log 2>&1"
(crontab -u `whoami` -l; echo "$RBENV_CMD") | crontab -u `whoami` - || {
echo "Errror installing crontab with rbenv"
exit 1
}
fi
printf "${RED}"
echo " ( ) "
echo " ( )\ ) ( /( ( ( ) ( ( ) "
echo " )\ (()/( )\()) )\))( ' ( ( /( )\ ) )\ ( /( "
echo " (((_) ( /(_)) ((_)\ ((_)()\ ) ))\ )\())((_)( /( ((_))\()) ( "
echo " )\___ )\(_))_ _((_) _(())\_)() /((_)((_)\ _ )(_)) _ ((_)\ )\ "
echo "((/ __| ((_)| \ | \| | \ \((_)/ /(_)) | |(_)| |((_)_ | || |(_)((_)"
echo " | (__ / _ \| |) || .\` | \ \/\/ / / -_) | '_ \| |/ _\` || || '_ \(_-<"
echo " \___|\___/|___/ |_|\_| \_/\_/ \___| |_.__/|_|\__,_||_||_.__//__/"
printf "${NORMAL}"
echo ''
echo 'Look over the docs at https://github.com/codn/dropbox-database-backup'
echo ''
echo 'You still need to configure your db enviroment in ~/dropbox-database-backup/backup.rb'
echo ''
echo 'p.s. Help and instrucions at the repo above'
echo ''
}
main