forked from OpenAtomFoundation/pikiwidb
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcodis-proxy-admin.sh
More file actions
executable file
·85 lines (73 loc) · 2.44 KB
/
codis-proxy-admin.sh
File metadata and controls
executable file
·85 lines (73 loc) · 2.44 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
#!/usr/bin/env bash
CODIS_ADMIN="${BASH_SOURCE-$0}"
CODIS_ADMIN="$(dirname "${CODIS_ADMIN}")"
CODIS_ADMIN_DIR="$(cd "${CODIS_ADMIN}"; pwd)"
CODIS_BIN_DIR=$CODIS_ADMIN_DIR/../bin
CODIS_LOG_DIR=$CODIS_ADMIN_DIR/../log
CODIS_CONF_DIR=$CODIS_ADMIN_DIR/../config
CODIS_PROXY_BIN=$CODIS_BIN_DIR/codis-proxy
CODIS_PROXY_PID_FILE=$CODIS_BIN_DIR/codis-proxy.pid
CODIS_PROXY_LOG_FILE=$CODIS_LOG_DIR/codis-proxy.log
CODIS_PROXY_DAEMON_FILE=$CODIS_LOG_DIR/codis-proxy.out
CODIS_PROXY_CONF_FILE=$CODIS_CONF_DIR/proxy.toml
CODIS_DASHBOARD_ADDR="127.0.0.1:18080"
echo $CODIS_PROXY_CONF_FILE
if [ ! -d $CODIS_LOG_DIR ]; then
# Try to create directory, but handle failure gracefully
mkdir -p $CODIS_LOG_DIR || {
echo "WARNING: Failed to create log directory at $CODIS_LOG_DIR"
# Use /tmp directory as fallback
CODIS_LOG_DIR="/tmp"
echo "Using fallback directory: $CODIS_LOG_DIR"
}
fi
# Clean up old log files to save space
find $CODIS_LOG_DIR -name "codis-*.log" -type f -mtime +1 -delete 2>/dev/null || true
case $1 in
start)
echo "starting codis-proxy ... "
if [ -f "$CODIS_PROXY_PID_FILE" ]; then
if kill -0 `cat "$CODIS_PROXY_PID_FILE"` > /dev/null 2>&1; then
echo $command already running as process `cat "$CODIS_PROXY_PID_FILE"`.
exit 0
fi
fi
nohup "$CODIS_PROXY_BIN" "--config=${CODIS_PROXY_CONF_FILE}" "--dashboard=${CODIS_DASHBOARD_ADDR}" \
"--log=$CODIS_PROXY_LOG_FILE" "--log-level=INFO" "--ncpu=4" "--pidfile=$CODIS_PROXY_PID_FILE" > "$CODIS_PROXY_DAEMON_FILE" 2>&1 < /dev/null &
;;
start-foreground)
$CODIS_PROXY_BIN "--config=${CODIS_PROXY_CONF_FILE}" "--dashboard=${CODIS_DASHBOARD_ADDR}" \
"--log-level=DEBUG" "--pidfile=$CODIS_PROXY_PID_FILE"
;;
stop)
echo "stopping codis-proxy ... "
if [ ! -f "$CODIS_PROXY_PID_FILE" ]
then
echo "no codis-proxy to stop (could not find file $CODIS_PROXY_PID_FILE)"
else
kill -2 $(cat "$CODIS_PROXY_PID_FILE")
echo STOPPED
fi
exit 0
;;
stop-forced)
echo "stopping codis-proxy ... "
if [ ! -f "$CODIS_PROXY_PID_FILE" ]
then
echo "no codis-proxy to stop (could not find file $CODIS_PROXY_PID_FILE)"
else
kill -9 $(cat "$CODIS_PROXY_PID_FILE")
rm "$CODIS_PROXY_PID_FILE"
echo STOPPED
fi
exit 0
;;
restart)
shift
"$0" stop
sleep 1
"$0" start
;;
*)
echo "Usage: $0 {start|start-foreground|stop|stop-forced|restart}" >&2
esac