forked from rackerlabs/recap
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrecap-installer
executable file
·110 lines (92 loc) · 3.12 KB
/
recap-installer
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
102
103
104
105
106
107
108
109
110
#!/bin/bash
#
# Package name: recapinstaller
# Author: Benjamin H. Graham
#
# Maintainer: Brent Oswald
# Benjamin Graham
# Simone Soldateschi
#
# License: GPL 2.0
#
# Homepage: https://github.com/rackerlabs/recap/
#
# Installer for Debian and MacOSX currently.
#
#Name: recap
#Requires: sysstat, coreutils, procps, grep, gawk
# Force the shell to exit immediately if something goes wrong
set -e
VERSION="0.9.8"
LOGDIR="/var/log"
MANPATH="/usr/share/man"
SBINDIR="/usr/sbin"
SYSCONFDIR="/etc"
DATADIR="/usr/share"
ROOT_UID=0
OSTYPE=$(uname -s)
if [ "$UID" -ne "$ROOT_UID" ]; then
echo "You must be root to run this script."
exit
fi
echo
echo "Installing recap and recaptool to $SBINDIR"
echo
mkdir -p -m0755 $SBINDIR
mkdir -p -m0755 $DATADIR/doc/recap-$VERSION
mkdir -p -m0755 $SYSCONFDIR/cron.d
mkdir -p -m0700 $LOGDIR/recap
mkdir -p -m0700 $LOGDIR/recap/backups
mkdir -p -m0700 $LOGDIR/recap/snapshots
mkdir -p -m0755 $MANPATH/man5
mkdir -p -m0755 $MANPATH/man8
install -m 0755 recap $SBINDIR/
install -m 0755 recaplog $SBINDIR/
install -m 0755 recaptool $SBINDIR/
install -m 0644 README.md $DATADIR/doc/recap-$VERSION/
install -m 0644 TODO $DATADIR/doc/recap-$VERSION/
install -m 0644 CHANGELOG $DATADIR/doc/recap-$VERSION/
install -m 0644 COPYING $DATADIR/doc/recap-$VERSION/
gzip recap.5
gzip recap.8
install -m 0644 recap.5.gz $MANPATH/man5
install -m 0644 recap.8.gz $MANPATH/man8
install -m 0644 recap.conf $SYSCONFDIR/recap
# if macosx uname -s contains Darwin
if [[ $OSTYPE =~ "Darwin" ]]; then
install -m 0700 recap.plist /Library/LaunchDaemons/recap.plist
launchctl load -w /Library/LaunchDaemons/recap.plist
else
install -m 0644 recap.cron $SYSCONFDIR/cron.d/recap
fi
if [ -d $SYSCONFDIR/apache2/conf.d ]; then
install -m 0644 recap.conf.d $SYSCONFDIR/apache2/conf.d/recap
echo "To enable webbased stats, see $SYSCONFDIR/apache2/conf.d/recap"
elif [ -d $SYSCONFDIR/httpd/conf.d ]; then
install -m 0644 recap.conf.d $SYSCONFDIR/httpd/conf.d/recap
echo "To enable webbased stats, see $SYSCONFDIR/httpd/conf.d/recap"
else
echo "No /etc/apache2 or /etc/httpd found. Skipping apache configuration installation."
fi
if [ -f /etc/rs-sysmon ]; then
echo "Found configuration file in old location (/etc/rs-sysmon), moving it to the new location (/etc/recap)."
mv /etc/recap /etc/recap.orig
mv /etc/rs-sysmon /etc/recap
fi
echo
echo "Checking for output directories..."
if [ -d /var/log/rs-sysmon ]; then
echo
echo "Found old output directory: /var/log/rs-sysmon"
echo "Moving resources logs to /var/log/recap"
mv /var/log/rs-sysmon/* /var/log/recap
echo "Removing old output directory: /var/log/rs-sysmon"
rm -r /var/log/rs-sysmon
echo
echo "Your output files have been consolidated to /var/log/recap, and the old output directories have been removed. If you see any errors above, there may have been some unexpected files that prevented the old directories from being emptied."
fi
echo
echo "The cron execution of recap is set to run every 10 minutes and at reboot by default."
echo "Edit /etc/cron.d/recap to change cron execution."
echo
echo "recap installation complete."