The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Смена прав на файлы на лету, !*! HanTengry, 28-Янв-11, 06:20  [смотреть все]
Есть сервер(OS: SLES SUSE9 SP3), и на других компьютерах 2 программы, одна из программ выгружет файлы, другая забирает на обработку раз в 3 минуты. Вторая программа не может забирать файлы если файлам не присвоить определенные права. Вроде бы логично поставить в crontab строчку chmod, которая раз в минуту будет "причесывать" файлы под нужные права.
Но какое-то время вторая программа не работала. Файлов накопилось несколько тысяч. chmod не успевал за минуту применить ко всем файлам права, до того как запуститься следующий процесс chmod, в результате сервер назапускал процессов chmod и тормозит.
Кривизна решения еще в том что следующий процесс chmod заново обрабатывает файлы для смены прав, хотя они уже обработаны предыдущим процессом.
Вопрос: Есть другое решение? Хотелось бы делать смену прав на файлы только для новых файлов и сразу после их появления. Как отслеживать?
  • Смена прав на файлы на лету, !*! Дядя Федор, 08:14 , 28-Янв-11 (1)
    • Смена прав на файлы на лету, !*! HanTengry, 08:53 , 28-Янв-11 (3)
      >> Вопрос: Есть другое решение? Хотелось бы делать смену прав на файлы только
      >> для новых файлов и сразу после их появления. Как отслеживать?
      >  Не совсем понятно - что из себя представляет первая программа и
      > как она выгружает файлы.

      Обе программы - внедренные продукты, стороннего разработчика, лесть в них мне не дадут, эти программы к расшареной дирректории обращаются по сети, как я понял по FTP протоколу, работают под Windows.
      > прямо на этапе выгрузки и дальнейшего помещения в файловую систему. К
      > примеру, чтобы это делал Ваш скрипт, в котором будет 2 строки
      > - запуск этой программы

      Не понял, какой программы? Первая программа всегда запущена. В моем случае надо как-то отследить момент выгрузки, т.е. ее обращение к сетевому каталогу?  
      > второе решение... искать новые файлы find по параметрам time (ctime и
      > т.д.) и изменять им права. Либо менять права только тем файлам,
      > у которых они не соответствуют заданным параметрам (права на запись, чтение,
      > исполнение - тот же test в bash это умеет).

      Что из этих 2-х вариантов будет работать быстрее. Не будут ли оба этих процесса опять просматривать каждый файл на предмет в первом случае времени во втором прав - не станет ли время работы процесса опять зависеть от количества файлов?


      • Смена прав на файлы на лету, !*! Дядя Федор, 09:00 , 28-Янв-11 (4)
        • Смена прав на файлы на лету, !*! Дядя Федор, 09:06 , 28-Янв-11 (5)
          • Смена прав на файлы на лету, !*! HanTengry, 10:06 , 28-Янв-11 (7)
            > Кстати. Раз Вы сказали, что программа Виндовая заливает файлы по FTP-протоколу, соответственно,
            > у Вас поднят FTP-сервер. Посмотрите, при помощи какого ПО это сделано
            > (ну, там wu-ftpd, vsftpd, ProFTP etc). Разберитесь под каким пользователем заливается
            > файл по FTP (возможно, anonymous) и в настройках FTP-сервера выставьте параметр
            > umask - тогда файлы будут заливаться уже с нужными Вам параметрами.

            У меня оказался samba сервер, пожалуй вы правы, часа через 2 отпишу
            параметры где-то здесь:
            smb.conf параметры create mask и directory mask для шары.

            • Смена прав на файлы на лету, !*! HanTengry, 14:52 , 28-Янв-11 (9)
              >> Кстати. Раз Вы сказали, что программа Виндовая заливает файлы по FTP-протоколу, соответственно,
              >> у Вас поднят FTP-сервер. Посмотрите, при помощи какого ПО это сделано
              >> (ну, там wu-ftpd, vsftpd, ProFTP etc). Разберитесь под каким пользователем заливается
              >> файл по FTP (возможно, anonymous) и в настройках FTP-сервера выставьте параметр
              >> umask - тогда файлы будут заливаться уже с нужными Вам параметрами.
              > У меня оказался samba сервер, пожалуй вы правы, часа через 2 отпишу
              > параметры где-то здесь:
              > smb.conf параметры create mask и directory mask для шары.

              Возможно здесь проблема(проверю): выгружается под одним юзером(oracle, что видно по выгружаемым файлам), а рассшареная папка подключеная в винде как сетевой диск с помощью root (юзер который есть по умолчанию в Samba).
              Решение: 1) smbpasswd -a oracle
              2) smb stop\start
              3) Переподключить сетевой диск под oracle

  • Смена прав на файлы на лету, !*! PavelR, 08:42 , 28-Янв-11 (2)



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

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