fabio revised this gist . 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 revised this gist . 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 revised this gist . 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 revised this gist . 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 revised this gist . 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" | |