Last active 1765743276

A script that install some service management utilities in a Termux environment

fabio's Avatar fabio revised this gist 1765743276. Go to revision

1 file changed, 1 insertion, 1 deletion

termux-services-setup.sh

@@ -15,7 +15,7 @@ BIN_PATH="$PREFIX/bin"
15 15 mkdir -p "$TERMUX_HOME/scripts"
16 16
17 17 cat <<EOF > "$TERMUX_HOME/scripts/sv-log"
18 - #!/data/data/com.termux/files/usr/bin/bash
18 + #!/data/data/com.termux/files/usr/bin/sh
19 19
20 20 # sv-log script: A utility journalctl-like script to view and follow logs from
21 21 # Termux services

fabio's Avatar fabio revised this gist 1765739581. Go to revision

1 file changed, 2 insertions, 2 deletions

termux-services-setup.sh

@@ -8,7 +8,7 @@
8 8 # NOTE: It requires curl and termux-services to be already installed:
9 9 # pkg update && pkg install curl termux-services
10 10
11 - TERMUX_HOME="\$HOME/.termux"
11 + TERMUX_HOME="$HOME/.termux"
12 12 BIN_PATH="$PREFIX/bin"
13 13
14 14 # Create directory for user scripts
@@ -66,7 +66,7 @@ cat <<EOF > "$TERMUX_HOME/scripts/install-termux-services"
66 66 # by symlinking service directories from \$TERMUX_HOME/var/service
67 67 # to \$PREFIX/var/service and setting up log directories
68 68
69 - TERMUX_HOME="$TERMUX_HOME"
69 + TERMUX_HOME="\$HOME/.termux"
70 70
71 71 mkdir -p "\$HOME/.local/bin"
72 72 mkdir -p "\$PREFIX/var/service"

fabio's Avatar fabio revised this gist 1765739560. Go to revision

1 file changed, 1 insertion, 1 deletion

termux-services-setup.sh

@@ -8,7 +8,7 @@
8 8 # NOTE: It requires curl and termux-services to be already installed:
9 9 # pkg update && pkg install curl termux-services
10 10
11 - TERMUX_HOME="$HOME/.termux"
11 + TERMUX_HOME="\$HOME/.termux"
12 12 BIN_PATH="$PREFIX/bin"
13 13
14 14 # Create directory for user scripts

fabio's Avatar fabio revised this gist 1765739476. Go to revision

1 file changed, 7 insertions, 3 deletions

termux-services-setup.sh

@@ -1,8 +1,12 @@
1 1 #!/data/data/com.termux/files/usr/bin/sh
2 2
3 - # This script installs some service management utilities in a Termux environment
4 - # NOTE: It requires termux-services to be already installed:
5 - # pkg update && pkg install termux-services
3 + # This script installs some service management utilities in a Termux environment.
4 + #
5 + # You can download and directly run this script in a Termux environment through:
6 + # curl -sSL https://gist.manganiello.tech/fabio/termux-services-setup/raw/HEAD/termux-services-setup.sh | sh
7 + #
8 + # NOTE: It requires curl and termux-services to be already installed:
9 + # pkg update && pkg install curl termux-services
6 10
7 11 TERMUX_HOME="$HOME/.termux"
8 12 BIN_PATH="$PREFIX/bin"

fabio's Avatar fabio revised this gist 1765738804. Go to revision

1 file changed, 80 insertions

termux-services-setup.sh(file created)

@@ -0,0 +1,80 @@
1 + #!/data/data/com.termux/files/usr/bin/sh
2 +
3 + # This script installs some service management utilities in a Termux environment
4 + # NOTE: It requires termux-services to be already installed:
5 + # pkg update && pkg install termux-services
6 +
7 + TERMUX_HOME="$HOME/.termux"
8 + BIN_PATH="$PREFIX/bin"
9 +
10 + # Create directory for user scripts
11 + mkdir -p "$TERMUX_HOME/scripts"
12 +
13 + cat <<EOF > "$TERMUX_HOME/scripts/sv-log"
14 + #!/data/data/com.termux/files/usr/bin/bash
15 +
16 + # sv-log script: A utility journalctl-like script to view and follow logs from
17 + # Termux services
18 +
19 + usage() {
20 + echo "Usage: \$0 [-h] [-f] [-n <lines>] <service>" >&2
21 + exit 1
22 + }
23 +
24 + lines=25
25 +
26 + while getopts "fhn:" opt; do
27 + case "\${opt}" in
28 + f)
29 + follow=1
30 + ;;
31 +
32 + n)
33 + lines=\${OPTARG}
34 + (echo -n "\$lines" | grep -E '^[0-9]+$' >/dev/null) || usage
35 + ;;
36 +
37 + *)
38 + usage
39 + ;;
40 + esac
41 + done
42 +
43 + shift \$((OPTIND-1))
44 + service="\$1"
45 + [ -n "\$service" ] || usage
46 +
47 + logfile="\$PREFIX/var/log/sv/\$service/current"
48 + [ -f "\$logfile" ] || (
49 + echo "No logs found for service \$service" >&2
50 + exit 0
51 + )
52 +
53 + OPTS="-n -\${lines}"
54 + [ -n "\$follow" ] && OPTS="-f \${OPTS}"
55 + tail \$OPTS "\$logfile"
56 + EOF
57 +
58 + cat <<EOF > "$TERMUX_HOME/scripts/install-termux-services"
59 + #!/data/data/com.termux/files/usr/bin/sh
60 +
61 + # A script that supports the installation of custom Termux services
62 + # by symlinking service directories from \$TERMUX_HOME/var/service
63 + # to \$PREFIX/var/service and setting up log directories
64 +
65 + TERMUX_HOME="$TERMUX_HOME"
66 +
67 + mkdir -p "\$HOME/.local/bin"
68 + mkdir -p "\$PREFIX/var/service"
69 + ln -sf "\$TERMUX_HOME/scripts/sv-log" "\$HOME/.local/bin"
70 +
71 + find "\$TERMUX_HOME/var/service" -maxdepth 1 -type d | tail -n -1 | while read srv; do
72 + ln -sf "\$srv" "\$PREFIX/var/service"
73 + mkdir -p "\$PREFIX/var/log/sv/\$srv"
74 + ln -sf "\$PREFIX/var/log/sv/\$srv" "\$srv/log"
75 + done
76 + EOF
77 +
78 + # Copy sv-log and install-termux-services to bin path
79 + install -m 700 "$TERMUX_HOME/scripts/sv-log" "$BIN_PATH/sv-log"
80 + install -m 700 "$TERMUX_HOME/scripts/install-termux-services" "$BIN_PATH/install-termux-services"
Newer Older