1 Commits

Author SHA1 Message Date
3982df9e24 Fixed bug of improper listing logs, when script runs on /usr/bin 2021-01-21 04:43:16 +02:00
2 changed files with 36 additions and 53 deletions

View File

@@ -4,7 +4,7 @@
- Terminal Commands are exactly the same as sv, but produces a beautified layout.
![](https://imgur.com/S9zdEIU.png)
![](https://imgur.com/cpRWBo1.png)
## Manage and view runit services.

87
rsm
View File

@@ -9,11 +9,9 @@
# Date: August 29, 2018
# License: MIT
RSM_VERSION='v1.4.5'
RSM_VERSION='v1.4.0'
export SVDIR=${SVDIR:-/run/runit/service/}
export LOGDIR="/var/log/"
export RSVDIR="/run/runit/service/"
export FLDIR=${FLDIR:-/etc/runit/sv/}
@@ -138,7 +136,7 @@ $progname [-u] [-d <dir>] [-h] [-t] [SUBCOMMAND] [...]
${coloryellow}OPTIONS:${colorgreen}
${colorgreen}-c <yes|no|auto> $cr Enable/disable color output, defaults to auto
${colorgreen}-d <dir> $cr Directory to look into, defaults to env SVDIR or /run/runit/service is unset
${colorgreen}-d <dir> $cr Directory to look into, defaults to env SVDIR or /var/service if unset
${colorgreen}-h $cr Print this message and exit
${colorgreen}-l $cr Show log processes, this is a shortcut for 'status -l'
${colorgreen}-t $cr Tree view, this is a shortcut for 'status -t'
@@ -168,10 +166,6 @@ ${colorgreen}start <service> $cr Start the service
${colorgreen}stop <service> $cr Stop the service
${colorgreen}restart <service> $cr Restart the service
${colorgreen}reload <service> $cr Reload the service (send SIGHUP)
${colorgreen}logs <service> $cr Outputs the service's logfilenames and their access & error logs from /var/log/<serice>/
${colorgreen}alllogs <service> $cr The same like logs <service>
${colorgreen}errorlogs <service> $cr Outputs the service's logfilenames and their errorlogs from /var/log/<serice>/
${coloryellow}EXAMPLES:${colorgreen}
${colorgreen}$progname $cr Show service status in /var/service
@@ -391,9 +385,7 @@ do_status() {
fi
if [[ -n $filter && $svc != *"$filter"* ]]; then
if [[ $verbosity != 1 ]]; then
verbose "filtering out '$svc' because it does not match '$filter'"
fi
verbose "filtering out '$svc' because match '$filter'"
continue
fi
@@ -478,7 +470,6 @@ do_enable_disable() {
ret=1
else
ln -s ${FLDIR}${svc} ${SVDIR}
do_status
fi
;;
disable)
@@ -488,7 +479,6 @@ do_enable_disable() {
ret=1
else
unlink ${SVDIR}${svc}
do_status
fi
;;
*)
@@ -504,6 +494,9 @@ do_enable_disable() {
# show logs
do_show_logs() {
local LOGDIR="/var/log/"
local SVDIR="/run/runit/service/"
monitors_array=($(xrandr -q))
local cmd=$1
local svc
local ret=0
@@ -521,29 +514,22 @@ do_show_logs() {
fi
done
if [[ -f "${RSVDIR}${cmd}" ]]; then
if ! [[ -d ${RSVDIR}${cmd} ]]; then
printf "\n%20s\n" "${colorgreen}The following log files found:"
local logs_files_array=($(ls /var/log/$cmd/*.*))
printf "\n$colorblue"
printf '%s\n' "${logs_files_array[@]}"
if ! [[ -d ${SVDIR}${cmd} ]]; then
printf "\n%20s\n" "${colorgreen}The following log files found:"
local logs_files_array=($(ls /var/log/$cmd/*.*))
printf "\n$colorblue"
printf '%s\n' "${logs_files_array[@]}"
printf "\n$colormagenta"
read -n 1 -s -r -p "Press any key to continue"
printf "\n$colormagenta"
read -n 1 -s -r -p "Press any key to continue"
printf "\n"
printf "\n${colorcyan}Log files full output:\n"
printf "${coloryellow}\n"
printf "${coloryellow}${opt}"
printf "\n"
printf "\n${colorcyan}Log files full output:\n"
printf "${coloryellow}\n"
printf "${coloryellow}${opt}"
tail -n 10 ${LOGDIR}${cmd}/*.* | more
printf "\n"
fi
fi
if ! [[ -f "${RSVDIR}${cmd}" ]]; then
printf "\n%20s\n" "${colorred}The service's ${cmd} log files have not been found or do not exist"
tail -n 10 ${LOGDIR}${cmd}/*.* | more
printf "\n"
fi
rmsg "$ret" "[$progname $cmd $*], exit code: $ret"
@@ -552,6 +538,9 @@ do_show_logs() {
# show error logs
do_show_err_logs() {
local LOGDIR="/var/log/"
local SVDIR="/run/runit/service/"
monitors_array=($(xrandr -q))
local cmd=$1
local svc
local ret=0
@@ -569,28 +558,22 @@ do_show_err_logs() {
fi
done
if [[ -f "${RSVDIR}${cmd}" ]]; then
if ! [[ -d ${RSVDIR}${cmd} ]]; then
printf "\n%20s\n" "${colorred}The following error log files found:"
local logs_files_array=($(ls /var/log/$cmd/*error*.*))
printf "\n$colorblue"
printf '%s\n' "${logs_files_array[@]}"
if ! [[ -d ${SVDIR}${cmd} ]]; then
printf "\n%20s\n" "${colorgreen}The following log files found:"
local logs_files_array=($(ls /var/log/$cmd/*.*))
printf "\n$colorblue"
printf '%s\n' "${logs_files_array[@]}"
printf "\n$colormagenta"
read -n 1 -s -r -p "Press any key to continue"
printf "\n$colormagenta"
read -n 1 -s -r -p "Press any key to continue"
printf "\n"
printf "\n${colorcyan}Log files full output:\n"
printf "${coloryellow}\n"
printf "${coloryellow}${opt}"
printf "\n"
printf "\n${colorcyan}Log files full output:\n"
printf "${coloryellow}\n"
printf "${coloryellow}${opt}"
tail -n 10 ${LOGDIR}${cmd}/*error*.* | more
printf "\n"
fi
fi
if ! [[ -f "${RSVDIR}${cmd}" ]]; then
printf "\n%20s\n" "${colorred}The service's ${cmd} error log files have not been found or do not exist"
tail -n 10 ${LOGDIR}${cmd}/*error*.* | more
printf "\n"
fi
rmsg "$ret" "[$progname $cmd $*], exit code: $ret"