Zentyal Forum, Linux Small Business Server
International => Russian => Topic started by: ds on September 15, 2012, 04:38:41 pm
-
доброго времечка люди...
zentyal 2.2(контроллер, самбаб дшсп) (база фокспрошная), клиенты около 50 компов (win xp)
часто происходит обновление программы и для этого требуется чтобы на клиентах выходили из программы
и тяжело определить кто не закрыл программу и держит файлы на zentyal
пользуюсь smbstatus, чтобы увидеть какие клиенты держат файлы базы...
но нужен вариант попроще (например через вебморду отобразить список клиентов держащих файлы)
посоветуйте что нибудь умное..может заготовки...
-
пришел к выводу что лучше сделать через веб морду....
добавил в /var/www .htacess c разрешением на перл
теперь проблема как вывести результат выполнения smbstatus
нашел в интернетах :
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "<html><head><title>User use file.</title></head><body>
<table align=\"center\"><tr><th>User</th><th>File</th></tr><tr>";
for (`smbstatus`) {
$users{$1} = $2 if (/\s*(\d+)\s+(.+?)\s+(.+)\s+(.+)\s+\((.+)\)/);
print "<td>$users{$1}</td><td>$2</td>\n" if (/(\d+).*?\/usr\/home\/public\/shared(.*)\s{3}/);
};
print "</tr></body>";
исполняется без ошибок, но и не выводит ничего... так как регеспы неправильные
мой вывод smbstatus такой
Samba version 3.4.9
PID Username Group Machine
-------------------------------------------------------------------
4177 admin __USERS__ sectorz (192.168.1.33)
Service pid machine Connected at
-------------------------------------------------------
admin 4177 sectorz Sat Sep 15 20:23:22 2012
IPC$ 4177 sectorz Sat Sep 15 20:23:18 2012
Locked files:
Pid Uid DenyMode Access R/W Oplock SharePath Name Time
--------------------------------------------------------------------------------------------------
4177 2001 DENY_NONE 0x20089 RDONLY EXCLUSIVE+BATCH /home/admin Новая папка/1033262.flv Sat Sep 15 20:25:42 2012
4177 2001 DENY_NONE 0x100081 RDONLY NONE /home/admin Новая папка Sat Sep 15 20:23:28 2012
кто разбирается, окажите содействие по правке скрипта
-
http://forum.zentyal.org/index.php?topic=4002.0
-
2 mravil к чему отсылка на данный топик?? (How to mount the Users eBox Home(PDC) directory?) я разве про монтирование интересовался? или может ссылка какая в проскользнула... не заметил
-
Извини, ошибся =) http://forum.zentyal.org/index.php?topic=9666.0
-
уууу..вот это юбер-пхп-страшное-кодище ты мне показал :))
в общем благодаря ребятам с форума винграда я разобрался, и вот мой компактный перл код
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "<html><head><title>locked files</title>";
print "<style>td {border:1px solid red;}</style></head><body>";
print "<table><tr><td>user</td><td>file</td></tr>";
for (`smbstatus`) {
$users{$1} = $2 if (/\s*(\d+)\s+(.+?)\s+(.+)\s+(.+)\s+\((.+)\)/);
print "<tr><td>$users{$1}</td><td>$2</td></tr>\n" if (/(\d+).*?\/home(.*)\s{3}/);
};
print "</table></body></html>";
0) перл должен быть по умолчанию установлен (проверьте perl -v)
1)через управление zentyal поднимаем веб-сервер
2)в корне веб-сервера (по умолчанию /var/www) создаем файл с расширением .pl и закидываем в него вышеизложенное содержимое
3)тут же создаем файл .htaccess с содержимым
Options +ExecCGI
AddHandler cgi-script *.pl
<Files *.pl>
SetHandler cgi-script
</Files>
4) даем права на исполнение файлик (sudo chmod 755 вашперлфайл.pl)
5) ребутаем апач (sudo /etc/inid.d apache2 restart)
и профит...
P.S.у меня была проблема..
папки на сервере были на русском языке...
smbstatus нормально отображался в консоли, а через вебморду все связанное с кириллицей резалось...
вполне возможно надо обновить перл на машине или с консолью чтото не то :)))