Как отслеживать LOG после фразы и запускать сброс USB? - PullRequest
0 голосов
/ 20 октября 2019

Мне нужна помощь, чтобы отслеживать мой журнал и найти конкретную фразу, а после этого перезагрузить мое USB-устройство!

Я пробовал Unbind и Bind, но я не думаю, что это сработало ... После моих тестовЯ обнаружил, что на устройстве USB нет символической ссылки и порты смены устройства.

Я нашел это для части мониторинга:

line = $ (grep -m 1 YourKeyWord <(exectail -f /directory/of/log.out); kill $! 2> / dev / null)

if [ "$line"!="" ]
then
echo "Found $line"
service something start
line=""
echo "Now we can look for ABC"
fi

Мой вопрос по этому поводу: Хвост будет продолжаться?

И для сброса USB я нашел эти 2 кода:

#!/bin/bash
#type lsusb to find "vendor" and "product" ID in terminal
set -euo pipefail
IFS=$'\n\t'

#edit the below two lines of vendor and product values using lsusb result
dev=$(lsusb -t | grep usbdevicename | grep 'If 1' | cut -d' ' -f13|cut -d"," -f1)
#VENDOR=05a3
#PRODUCT=9230
VENDOR=$(lsusb -s $dev | cut -d' ' -f6 | cut -d: -f1)
PRODUCT=$(lsusb -s $dev | cut -d' ' -f6 | cut -d: -f2)

for DIR in $(find /sys/bus/usb/devices/ -maxdepth 1 -type l); do
  if [[ -f $DIR/idVendor && -f $DIR/idProduct &&
        $(cat $DIR/idVendor) == $VENDOR && $(cat $DIR/idProduct) == $PRODUCT ]]; then
    echo 0 > $DIR/authorized
    sleep 0.5
    echo 1 > $DIR/authorized
  fi
done



#!/bin/bash

set -euo pipefail
IFS=$'\n\t'

VENDOR="045e"
PRODUCT="0719"

for DIR in $(find /sys/bus/usb/devices/ -maxdepth 1 -type l); do
  if [[ -f $DIR/idVendor && -f $DIR/idProduct &&
        $(cat $DIR/idVendor) == $VENDOR && $(cat $DIR/idProduct) == $PRODUCT ]]; then
    echo 0 > $DIR/authorized
    sleep 0.5
    echo 1 > $DIR/authorized
  fi
done

Мне нужна помощь, чтобы узнать, что является лучшим выбором, и если кто-нибудь знает лучшее решение для этого ... Для сброса USB я обнаружилSEC, но я пытаюсь сделать это без установки чего-либо ... Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...