Доброй ночи
Есть задача писать apache-ским процессом (php linux) файлики в подмонтированную (mount -t smbfs) windows share. И все бы ничего, но когда windows машина перезагружается (по разным причинам, я её не контролирую), шара отваливается, а процесс продолжает писать на диск (думая что она там еще есть!) в ту директорию, к которой была подмонтирована windows share. А не должен. Он должен заорать что у него проблемы или перемонтировать. Что делать?
smbc не подходит. Потому что сильно глючит.
>Доброй ночи
>Есть задача писать apache-ским процессом (php linux) файлики в подмонтированную (mount -t
>smbfs) windows share. И все бы ничего, но когда windows машина
>перезагружается (по разным причинам, я её не контролирую), шара отваливается, а
>процесс продолжает писать на диск (думая что она там еще есть!)
>в ту директорию, к которой была подмонтирована windows share. А не
>должен. Он должен заорать что у него проблемы или перемонтировать. Что
>делать?
>smbc не подходит. Потому что сильно глючит.
Попробуйте для этого связку FUSE + SMBNetFS -- http://fuse.sourceforge.net
SMBNetFS периодически сканирует сетку на живучесть шар и перестраивает дерево смонтированых их. Всё это настраивается в конфиг-файле SMBNetFS.
я бы это зделал програмно, если скрипт написан на PHP, вообще нет проблем, всё открито, надо только найти то место в котором происходит запись в подмонтированую папку. Если не разберётесь скиньте скрипт, будет время помогу..
>я бы это зделал програмно, если скрипт написан на PHP, вообще нет
>проблем, всё открито, надо только найти то место в котором происходит
>запись в подмонтированую папку. Если не разберётесь скиньте скрипт, будет время
>помогу..
В самом php на эту тему ничего нет. Да и видит он эту удаленную директорию как локальную. Он все равно туда напишет.
>>я бы это зделал програмно, если скрипт написан на PHP, вообще нет
>>проблем, всё открито, надо только найти то место в котором происходит
>>запись в подмонтированую папку. Если не разберётесь скиньте скрипт, будет время
>>помогу..
>В самом php на эту тему ничего нет. Да и видит он
>эту удаленную директорию как локальную. Он все равно туда напишет.
...да но если скрипт не будет иметь куда писать (то есть шара не подмонтировалась) то тут его можно будет и переписать, пару лишних (if'фоф) и всё Ок. Ну накрайняк написать шелл-скрипт который будет запускатся по cron'у и переодически проверять наличее ресурса, и если шара не наблюдается то монтировать её....
>по cron'у и переодически проверять наличее ресурса, и если шара не
>наблюдается то монтировать её....Алгоритм то понятен и прост...
А как проверить-то? Ведь линукс в случае перезагрузки windows-машины не знает об этом и думает, что все нормально. И в /etc/mtab запись остается! И штатных средств самбы или mount проверить живость шары вроде как не найдено. Он просто продолжает писать в точку монтирования, но уже на локальный диск, а не на удаленную шару. И изменить эту ситуацию удается только заново примонтировав её... Но это уже вмешательство оператора. Чего не хотелось бы. Особенно ночью :)
1) Попробуй cifs вместо smbfs - должно помочь.
2) Положи на ету шару, служащий маркером, файлик.
В php проверь на его существование.
Есть файлик - шара не отвалилась, нет - обратное.
Аналогично с кроном или шелл скриптом.
>1) Попробуй cifs вместо smbfs - должно помочь.
>2) Положи на ету шару, служащий маркером, файлик.
>В php проверь на его существование.
>Есть файлик - шара не отвалилась, нет - обратное.
>Аналогично с кроном или шелл скриптом.Вот за это спасибо огромное
>Доброй ночи
>Есть задача писать apache-ским процессом (php linux) файлики в подмонтированную (mount -t
>smbfs) windows share. И все бы ничего, но когда windows машина
>перезагружается (по разным причинам, я её не контролирую), шара отваливается, а
>процесс продолжает писать на диск (думая что она там еще есть!)
>в ту директорию, к которой была подмонтирована windows share. А не
>должен. Он должен заорать что у него проблемы или перемонтировать. Что
>делать?
>smbc не подходит. Потому что сильно глючит.Я бы наверно попробовал добавить в скрипт условие, которое бы например пинговало windows-машину и если ответа нет - следовательно она недоступна - отмонтировало шару и пыталось потом снова подмонтировать :)
Хотя как я вижу проблема решена уже, наверно более профессиональным способом :)