-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathsupervisor.sh
More file actions
74 lines (57 loc) · 1.78 KB
/
supervisor.sh
File metadata and controls
74 lines (57 loc) · 1.78 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
#!/bin/bash
# Absolute path to this script, e.g. /home/user/bin/foo.sh
SCRIPT=$(readlink -f "$0")
# Absolute path this script is in, thus /home/user/bin
SCRIPT_PATH=$(dirname "$SCRIPT")
AGENT_DIR="/java_agent"
#JAVA="$AGENT_DIR/java"
VARIABLES_CONF="$AGENT_DIR/variablesparser.sh"
MEMORY_CONF="$AGENT_DIR/memoryConfig.sh"
ENVS_FILE="$AGENT_DIR/envs"
install () {
JAVA_BIN=$1
JAVA_ORIG="${JAVA_BIN}.orig"
if [ -f $JAVA_ORIG ]; then
echo "Installation to $JAVA_BIN has been skipped as $JAVA_ORIG already exists"
else
#moving files around
mv $JAVA_BIN $JAVA_ORIG
cp $SCRIPT $JAVA_BIN
/bin/chown --reference=$JAVA_ORIG $JAVA_BIN
/bin/chmod --reference=$JAVA_ORIG $JAVA_BIN
echo "Java memory agent has been installed to $JAVA_BIN"
fi
}
uninstall () {
JAVA_BIN=$1
JAVA_ORIG="${JAVA_BIN}.orig"
if [ -f $JAVA_ORIG ]; then
rm -f $JAVA_BIN
mv $JAVA_ORIG $JAVA_BIN
echo "Java memory agent has been uninstalled at $JAVA_BIN"
else
echo "Java memory agent was not found at $JAVA_BIN, uninstallation has been skipped"
fi
}
if [[ "$1" == "--install" ]] || [[ "$1" == "--uninstall" ]]; then
if [ -z "$JAVA_HOME" ]; then
#checking default link to java
LINK=$(which java)
JAVA_BIN=$(readlink -f $LINK)
else
JAVA_BIN=$JAVA_HOME
fi
[[ $JAVA_BIN != */bin/java ]] && { JAVA_BIN=$JAVA_BIN"/bin/java"; }
FUNC=${1:2}
$FUNC $JAVA_BIN
for D in `find /usr/{java,lib} -maxdepth 5 -mindepth 3 -type f -name "java"`;
do
$FUNC $D;
done
else
. /etc/profile >/dev/null 2>&1
JAVA_ORIG="$SCRIPT.orig"
[ -f "$VARIABLES_CONF" ] && source $VARIABLES_CONF
source $MEMORY_CONF
exec $JAVA_ORIG "$@"
fi