On 2016-03-21 15:41, Иван Мишин wrote:
 От вопроса отклонились, но он по
прежнему актуален для меня. Повторюсь,
в кратце:
- есть nginx, есть вебдав
- есть задача: при закачке файла в
случае отсутствия места на
storage1(/tmp/ram/testdav), nginx должен положить
закачиваемый файл на storage2(/etc/nginx/next_stor)
- при окончании места на storage1 во время
загрузки файла по webdav, клиент получает
ответ 500
- сделано перенаправление на другой
location с другим root ссылающимся уже на
storage2, в случае возникновения 500 (то
есть в случае окончания места на storage1).
- результат в логах следующий:

2016/03/18 19:17:33 [alert] 32563#0: *19 write()
"/tmp/ram/testdav/tengine.tar.0000000012" failed (28: No space left
on device), client: 127.0.0.1, server: testdav, request: "PUT
/tengine.tar HTTP/1.1", host: "testdav"
2016/03/18 19:17:33 [crit] 32563#0: *19 chmod()
"/var/cache/nginx/client_temp/0000000011" failed (2: No such file or
directory), client: 127.0.0.1, server: testdav, request: "PUT
/tengine.tar HTTP/1.1", host: "testdav"
2016/03/18 19:17:33 [crit] 32563#0: *19 unlink()
"/var/cache/nginx/client_temp/0000000011" failed (2: No such file or
directory), client: 127.0.0.1, server: testdav, request: "PUT
/tengine.tar HTTP/1.1", host: "testdav"

Есть рекомендации/идеи как
реализовать? Если нужен мой конфиг,
сообщите я скину.
Я бы это делал вообще на уровне мониторинга. storage1 заполнился на 95% - перегенерировали конфиг(и), перечитали, пишем на storage2. Освободили место на storage1, стал он заполнен на 90% - перегенерировали конфиг(и), перечитали, пишем снова на storage1.

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Ответить