Vladimir Skubriev <vladimir@skubriev.ru> writes: > Есть скрипт: > ENABLE_SYSLOG=true > test -r /etc/default/inotifywait && . /etc/default/inotifywait || exit > 99 > test -d $INOTIFY_FOLDER || exit 100 > inotifywait -mrq -e ATTRIB --format '%w%f' "$INOTIFY_FOLDER" | while > IFS= read -r FILE > do > if [ -f FILE ] > # if file > then > if [ `stat -c %a $FILE` != "664" ] > then > CHMOD_LOG=$(chmod -v 664 "$FILE"); [[ -f $FILE ]] && logger -t inotifywait -p user.info "$CHMOD_LOG" & > fi > else > # If directory > if [ `stat -c %a $FILE` != "2775" ] > then > CHMOD_LOG=$(chmod -v 2775 "$FILE"); [[ "$ENABLE_SYSLOG" = true ]] && logger -t inotifywait -p user.info "$CHMOD_LOG" & > fi > fi > done > Не получается выполнить logger по условию: > [[ -f $FILE ]] > или > [[ "$ENABLE_SYSLOG" = true ]] > Почему logger не срабатывает? > Спасибо! > -- > Faithfully yours, > Vladimir Skubriev Владимир, есть проблема с Вашим скриптом, связанная с тем, что он не полный, и протестить его у себя мы не можем. Ничего криминального в нём не вижу, за исключением одного. Если файл был удалён, то inotifywait не выведет ли его имя? Если выведет, то попадёте в ветку "If directory", что нехорошо. По вашему же вопросу, хочется уточнить. А перед запуском скрипта Вы права на директорию меняете? PS: Ну и отступы нормальные расставить не помешало бы.
Attachment:
pgpBtfZx1o_60.pgp
Description: PGP signature