Re: webdav запись файла по другому root в случае если закончилось место

Andrey Oktyabrskiy ano на bestmx.net
Пн Мар 21 13:53:57 UTC 2016


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