Ответы пользователя по тегу *nix-подобные системы
  • Файл, являющийся отражением дампа БД MySQL?

    seriyPS
    @seriyPS
    Чё-то вы идиотское там делаете…

    Но вообще вам нужно fifo использовать
    что-то наподобие
    DUMP_FILE=/path/to/fifo
    mkfifo $DUMP_FILE
    while 1; do
        mysql_dump > $DUMP_FILE
    done
    

    Т.е. мусклдамп начнет отдавать данные только когда кто-то начнет читать из /path/to/fifo. Т.к. оно зациклено то при каждом чтении будет выдаваться новый дамп. Но я не уверен что mysql_dump не залочит БД сразу при запуске.
    Но лучше бы вам просто скрипт для дампа написать и не заниматься фигней.
    Ответ написан
    1 комментарий
  • Один процесс пишет в файл, другой его переименовывает?

    seriyPS
    @seriyPS
    вообще «в классике» схема такая:
    1. демон открывает файл и пишет в него лог
    2. логротейт делает логфайлу mv и отсылает демону сигнал, например SIGHUP
    3. У демона есть для этого обработчик который ЛИБО переоткрывает файл ЛИБО делает seek(0)
    Т.к. в вашем случае нет возможности контролировать файловый дескриптор, решение напрашивается само собой — написать или найти готовый «прокси» в который будет перенаправляться вывод и который сможет ловить сигналы и переоткрывать файл.
    exec("my_daemon | my_proxy --out=/my/log/file")
    Можно не сигнал а, например, touch какого то файла. Но сигнал эффективнее и проще.

    Вот еще пример hg.python.org/cpython/file/2145593d108d/Lib/logging/handlers.py#l358 тут сравниваются inode файла каждый раз перед записью.

    PS: а разве nohup что-то пишет в stderr/out???
    Ответ написан
  • Удалить файл, созданный www-data?

    seriyPS
    @seriyPS
    Думаю надо сделать так:

    1) загруженным файлам даем права rwx rwx r-- группа и пользователь соответственно www-data.
    2) добавляем юзера в группу www-data.

    Ну или правда что-то с ACL мутить. Можно на каждого юзера отдельный процесс апача запущенного от юзера, но это накладно и настраивать долго…
    Ответ написан
    Комментировать