inotify в удаленной оболочке и получить вывод обратно
Моя проблема очень похожа на эту: inotify недостаточно быстро
За исключением того, что я запускаю inotify в удаленной оболочке.
Мне нужно следить за изменением файла на машине A с машины B. У machineB есть ssh-доступ к машине A, но не наоборот.
while true; do
FILEPATH=$(ssh -i key.pem A@machineA "inotifywait -m -e close_write $REMOTE_WATCH_DIR --format '%w%f'")
echo $FILEPATH
done
В приведенном выше коде $FILEPATH всегда пуст.
Если я не ставлю -m
тогда это будет работать, но только для одного файла. Как уже упоминалось в этой проблеме: недостаточно быстро inotify мне нужно обрабатывать несколько файловых изменений тоже.
Любые предложения о том, как заставить это работать? Мне нужно вызвать inotify для нескольких файлов в удаленной оболочке и получить список файлов, которые были изменены на удаленной машине.
1 ответ
Догадаться:
while true; do
echo "inotifywait -m -e close_write $REMOTE_WATCH_DIR --format '%w%f:%f'" | ssh -i key.pem A@machineA /bin/bash |
while read file
do
process_data $file
done
done