Как обнаружить и проверить последние изменения в текстовом файле?

Ответ состоял в том, чтобы установить метод аутентификации для root следующим образом:

$ sudo mysql -u root
...
mysql> USE mysql
...
mysql> UPDATE user SET plugin='mysql_native_password' WHERE User='root';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0
mysql> FLUSH PRIVILEGES 
mysql> exit
$ service mysql restart
$ mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
...
mysql> 
0
10.07.2019, 01:25
1 ответ

Я беру нож в мрак, так как не совсем понимаю вопрос, но попробуй

(sleep 1; command || printf 'command failed with exit code %s.\n' "$?") &
if tail -f –n0 "out.log" | grep -q "demo1"
then
    echo "Application started with success."
else
    echo "Startup failed."
fi
  • tail -n0выводит последние 0 (ноль )строк файла. Само по себе это довольно бесполезно. В сочетании с -fон позволяет просматривать только дополнения к файлу а не любое из текущего содержания.
  • Я не знаю времени / динамики commandи записи в файл журнала. Я предполагаю, что demo1может быть записано в файл очень быстро; так быстро, что может быть уже там перед выполнением команды tailв скрипте. Я предполагаю, что именно поэтому вы используете -n3, так что вы можете посмотреть на строки, которые могли быть добавлены за последнюю микросекунду.

    Задерживая выполнениеcommand(с помощью sleep), мы запускаем tail -fдо запуска command, так что теперь мы должны записывать все, что записывается в файл .

    Если ваша версия sleepпринимает не -целочисленные аргументы, вы, вероятно, можете спать менее одной секунды.

  • AFAICT, это должно работать. Но у меня проблемы с тем, чтобы заставить его работать; похоже, что моя оболочка (, которая является bash ), не учитывает трубопровод tail … | grep …должен быть сделан пока обе grepи tailне погаснут. Этот кладж предварительно исправляет это :
    (sleep 1; command || printf 'command failed with exit code %s.\n' "$?") &
    if grep -q "demo1" <(tail -f –n0 "out.log")
    then
        echo "Application started with success."
    else
        echo "Startup failed."
    fi
    
0
28.01.2020, 03:28

Теги

Похожие вопросы