init.d 脚本来过滤命令输出并发送到日志

init.d 脚本来过滤命令输出并发送到日志

我希望记录/home/michael/client的标准输出,但希望删除包含各种文本的行。这是如何实现的?以下是我尝试过的。谢谢

SCRIPT=/home/michael/client
RUNAS=michael
PIDFILE=/var/run/client.pid
LOGFILE=/var/log/client.log
PROG="Client Interface"

start() {
  if [ -f "$PIDFILE" ] && kill -0 $(cat "$PIDFILE"); then
    echo "$PROG already running" >&2
    return 1
  fi
  echo "Starting $PROG…" >&2
  local CMD="$SCRIPT   >&3 2>&1 & echo \$!"
  #local CMD="$SCRIPT  | grep -v 'Non-block' | grep -v 'Connecting with ssl...' >&3 2>&1 & echo \$!"
  cd `dirname $SCRIPT`
  su -c "$CMD" $RUNAS  3>>"$LOGFILE" >"$PIDFILE"
  #su -c "$CMD" $RUNAS  | grep -v "Non-block" | grep -v "Connecting with ssl..." 3>> "$LOGFILE" >"$PIDFILE"
  #su -c "$CMD" $RUNAS  3>> grep -v "Non-block" | grep -v "Connecting with ssl..." | "$LOGFILE" >"$PIDFILE"
  echo "$PROG started" >&2
}

答案1

“分而治之”

  1. 你能编写一个简单的 bash 脚本来完成你的任务吗?

  2. 然后尝试一下

  3. 然后尝试一下诺哈普

  4. 最后尝试作为 init.d 脚本运行

相关内容