fswatch є крос-платформних програмним забезпеченням, для моніторингу змін файлів і директорій. За допомогою цього софта можна отримувати повідомлення і тим самим відслідковувати зміни файлів і каталогів на сервері.

В різних операційних системах він виконує до чотирьох типів моніторів:

  • Монітор процесу складання в API журналу подій файлової системи Apple OS X;
  • Монітор на основі Kqueue, інтерфейс повідомлень присутня в операційній системі FreeBSD 4.1, крім того підтримується на багатьох *BSD системах, OS X включно;
  • Монітор на основі файлу подій Notification API ядра Solaris плюс його доп. можливості;
  • Монітор на основі Inotify, підсистеми ядра, яка показує зміни файлової системи в додатках.
  • Монітор, заснований на ReadDirectoryChangesW, в ОС Windows API записує зміни в каталог.
  • Монітор регулярно перевіряє статус файлів у файловій системі, зберігає час модифікації файлів в пам’яті, а так само дозволяє в ручному режимі визначити зміни у файловій системі (там, де є в цьому необхідність).

Особливості fswatch

  • Підтримує кілька специфічних для ОС API;
  • Дозволяє рекурсивний моніторинг директорій;
  • Можливість фільтрації шляхів, за допомогою регулярних виразів;
  • Підтримка настроюваних формату запису;
  • Так само, він підтримує періодичні події простою;

Як встановити fswatch в системі Linux
На жаль, в стандартних системних репозиторіях Linux пакет fswatch відсутня. Тому ми можемо встановити fswatch, зібравши його з исходников, далі ми розглянемо коротку інструкцію, як це зробити.

Завантажити останню версію fswatch з допомогою команди wget, распакуем архів, і почнемо процес складання.

$ wget https://github.com/emcrisostomo/fswatch/releases/download/1.9.3/fswatch-1.9.3.tar.gz
$ tar -xvzf fswatch-1.9.3.tar.gz
$ cd fswatch-1.9.3
$ ./configure
$ make
$ sudo make install

Важливий момент: Для складання пакету у вас так само попередньо повинен бути встановлений компілятор GNU GCC (C і C++), а так само засоби розробки (потрібна установка на Debian/Ubuntu). Якщо у вас немає компілятора, то їх слід встановити, для кожного дистрибутива по-своєму, відповідно:

# yum group install ‘Development Tools’ [Для CentOS/RHEL]
# dnf group install ‘Development Tools’ [Для Fedora 22+]
$ sudo apt-get install build-essential [Для Debian/Ubuntu]

При виконанні команди fswatch у Debian/Ubuntu ви можете з подібним повідомленням про помилку:

fswatch: error while loading shared libraries: libfswatch.so.6: cannot open shared object file: No such file or directory

Для виправлення даної помилки вам слід виконати команду нижчою, яка оновить посилання і кеш для динамічних бібліотек, перед тим як можна буде починати використовувати команду fswatch.

$ Sudo LDCONFIG

Як використовувати fswatch на Linux?
Для запуску пакета fswatch використовується такий синтаксис:

$ fswatch [option] [path]

В Linux рекомендується використовувати для перегляду монітор inotify, переглянути список моніторів ми можете за допомогою опцій -M або –list-monitors:

$ fswatch -M
$ fswatch –list-monitors

Далі наведена нижче команда дозволяє спостерігати зміни в директорії (/home/yournet), показ подій буде виводитися кожні 4 секунди. Опція –l або –latency встановлює затримку в секундах, за замовчуванням є 1 секунда.

$ Fswatch -l 4.

Далі наступна команда, відстежує зміни у файлі /var/log/auth.log кожні 5 секунд:

$ Fswatch -l 5 /var/log/auth.log

Використання опції –t або-timestamp виводить мітку в форматі timestamp), щоб відобразити час у UTC потрібно використовувати опцію –u або –utf-time. Так само можна використовувати формат відображення часу використовуючи –f або-format-time:

$ Fswatch –timestamp /var/log/auth.log

Використовуючи опції –x або –event-flags при виклику fswatch ви можете задавати роздільник події і шляхи. Опція –event-field-separator дозволить виводити події з використанням специфічного роздільника.

$ fswatch –events-flags ~ /var/log/auth.log

Щоб вивести числове значення ідентифікатора події у вашій домашній директорії і у файлі /var/log/auth.log використовуйте опцію –n або –numeric.

$ fswatch –numeric ~ /var/log/auth.log

Ви можете переглянути більш детальну інформацію про можливості використання пакету, для цього вам слід набрати команду:

$ man fswatch

Щоб отримати додаткову інформацію та можливості використання fswatch ви так само можете відвідати сторінку на GitHub. На цьому все, сподіваюся, викладений тут матеріал надасть вам користь, і у вас не виникло серйозних проблем з установкою.

Додав: htmaker, 23.10.2016 р.
(Ще не оцінили)

Завантаження…

Діліться з друзями:

См. також:


Оновлення пакетів в CentOS
Рубрика: Linux

Bash: mail: command not found
Рубрика: Linux

Виставляємо тимчасову зону в CentOS 7
Рубрика: Linux

Налаштування SELinux, включення, відключення
Рубрика: Linux, Інф. безпека

Змінюємо пароль root в MySQL 5.7
Рубрика: Linux, MySQL

Установка і настройка mSMTP на Linux
Рубрика: Linux

Установка GIT на CentOS 7
Рубрика: Linux

Як відключити IPv6 в CentOS 7?
Рубрика: Linux

Ротація логів в Linux
Рубрика: Apache, Linux