Так отслеживай, ну
Тебе не нужен баш, чтобы запускать пхп. И inotifywait тебе не нужен, чтобы определять, изменился файл или нет
На пхп пишешь функцию, которая обращается к атрибутам нужного файла. Тебе нужен атрибут mtime, который хранит число секунд (unixtime) с 1970 до момента изменения файла. Запоминаешь значение этого атрибута. При следующем вызове снова получаешь значение, и если оно отличается от запомненного ранее, то возвращает True, иначе False
Далее на пхп пишешь бесконечный цикл, в котором пишешь условие: если функция определяющая изменение файла вернула True, то вызываешь свою логику парсинга // отправки и т.д., если вернула False, то спишь одну секунду
Можешь улучшить логику обработки, и при изменении файла записывать mtime куда-нибудь на диск в /var/cache, чтобы при следующей загрузке (после ребута например), твой скрипт мог сразу считать старое значение mtime и не потерять момент изменения, если он случится до того, как скрипт запустится
Всё. Нет ничего проще. Нафига тебе тут баш и inotifywait, которые жрут ценную память? У тебя в мускуле запросы медленные в т.ч. потому что данные с диска не хранятся в памяти, а вытесняются из файлового кеша. Так что экономия памяти для тебя будет не лишней