Intereting Posts
Почему в моей системе отображается только 3,2 гигабайта ОЗУ, когда у меня определенно есть 4,0 ГБ Использование аргументов команды sed для совместимости с GNU и BSD Unix (редактирование на месте) Получение ошибок при открытии Windows. Ошибка 1: имя файла должно быть абсолютным именем или блоком ser2net + socat + gammu. завершение соцета Как получить процент CPU в качестве счетчика? Рекурсивно перечислять файлы, содержащие символ подчеркивания в имени файла Итерировать файлы в папке Как запустить Java-процесс, который будет рассматриваться не как «java …» в списке процессов? rc_status всегда возвращает "failed" Как добавить / добавить временную метку для вывода grep? Отключить подключение к локальной сети при запуске в Debian Что означает пара круглых скобок после строкового литерала? Проверьте, не удалось ли выполнить команду Как отсортировать XML-элементы на месте? Установка SageMath для нескольких пользователей?

inotifywait не контролирует пользователей Windows, сохраняя их в Samba share на Linux

У меня есть inotifywait (версия 3.14) для Linux, чтобы отслеживать папку, совместно используемую Samba Version 4.3.9-Ubuntu.

Он работает, если я скопирую файл с Linux-машины на samba share (то есть на другой машине, также под Linux).

Но если я скопирую файл с Windows, машина inotify ничего не обнаружит. Пробелы или пробелы, рекурсивные или не результат одинаковы.

 printDir="/media/smb_share/temp/monitor" inotifywait -m -r -e modify -e create "$printDir" | while read line do echo "$line" done 

У кого-нибудь есть идеи, как его решить?

Хорошо, это уродливое обходное решение, но для моего случая оно должно работать в ~ 90% случаев.

 temPrint=/dev/shm/print fcheck_1=$temPrint/fcheck_1 fcheck_new=$temPrint/fcheck_new fcheck_old=$temPrint/fcheck_old fcheck_preprint=$temPrint/fcheck_preprint fcheck_print=$temPrint/fcheck_print printDir="/media/smb_share/temp/monitor" test -d $temPrint || mkdir $temPrint while [ true ]; do test -e $fcheck_new && rm $fcheck_new test -e $fcheck_old || touch $fcheck_old test -e $fcheck_print && rm $fcheck_print ls -l "$printDir"/*.pdf > $fcheck_1 while read line do echo "${line#*"/"}" | sed "s#^#/#" >> $fcheck_new done < $fcheck_1 rt=$(diff $fcheck_new $fcheck_old | grep "<") if [ "$rt" ]; then echo "$rt" > $fcheck_preprint while read line do echo "${line#*"/"}" | sed "s#^#/#" >> $fcheck_print done < $fcheck_preprint while read line do echo "$line" done < $fcheck_print cp $fcheck_new $fcheck_old fi sleep 20 done