The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Лок качаемых файлов средствами апача."
Вариант для распечатки  
Пред. тема | След. тема 
Форумы WEB технологии (Apache, http-серверы)
Изначальное сообщение [ Отслеживать ]

"Лок качаемых файлов средствами апача."  +/
Сообщение от Андрей email(??) on 07-Май-10, 15:08 
На сервере лежит файл большого размера. Экспортные данные в csv. Он периодически меняется по крону. То есть периодически перегенерируется из php-скрипта. Его раз в сутки скачивает удалённый сервер. Можно ли как-то в Апаче поставить лок на запись на файл, когда его кто-то качает? То есть удалённый сервер запросил файл и качает его по байтам и чтобы он залочился апачем, чтобы я из своего скрипта не мог перезаписать этот файл, пока его полностью не докачает удалнный сервер (то есть чтоб мой скрипт стал в очередь).
Из php я могу залочить файл flock() - функцией. А может ли апач залочить файл ?
Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Лок качаемых файлов средствами апача."  +/
Сообщение от KarD_IO on 07-Май-10, 17:09 
>А может ли >апач залочить файл ?

Вряд-ли. Он же только читает файлы.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. "Лок качаемых файлов средствами апача."  +/
Сообщение от JohnProfic on 07-Май-10, 19:53 
>в сутки скачивает удалённый сервер. Можно ли как-то в Апаче поставить
>лок на запись на файл, когда его кто-то качает? То есть
>удалённый сервер запросил файл и качает его по байтам и чтобы
>он залочился апачем, чтобы я из своего скрипта не мог перезаписать
>этот файл, пока его полностью не докачает удалнный сервер (то есть
>чтоб мой скрипт стал в очередь).

Если:
1) ОС с апачем любая вменяемая unix-like
2) файл качается только целиком, т.е. докачка не используется
3) на диске имеется остаточно места для хранения двух файла
то можно писать в файл с другим именем, после чего делать rename(new, old) или unlink(old) и rename(new, old).
Если файл был открыт апачем, он его плагополучно прочитает до конца (даже после удаления). Когда апач закроет файл, система освободит место им занимаемое.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру