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