Где в файловой системе я должен хранить общие данные?

41

Где в файловой системе unix есть обычное место для сохранения данных, не относящихся к пользователю, например данные, передаваемые через nfs или ftp или резервные копии?

Я мог бы создать и использовать любую произвольную папку (например, / home / shared, / data или / var / data), но мне действительно интересно, есть ли какие-либо «лучшие» или «общие» правила практики. Стандарт иерархии файловой системы не указывает местоположение для общих данных.

Для резервных копий я обычно использую / var / backups, но, поскольку несколько cronjobs пишут, должно ли это действительно быть оставлено для их использования?     

задан misterben 07.12.2010 в 11:23
источник

4 ответа

26

Этот вопрос делает , кажется, имеет ясный ответ в стандарте иерархии файловой системы , в котором указано, что /srv как "содержит [ing] данные для сайта, которые обслуживаются этой системой ". (3.16.1)

  

Эта основная цель - указать, что пользователи могут найти расположение файлов данных для определенных   службы , и поэтому сервисы, для которых требуется одно дерево для данных только для чтения, записываемых данных и сценариев

(мой акцент)

Примечание: «Обслуживание системой» необязательно относится к Интернету. Это даже не означает, что сеть. Он применим даже к общей системе. Кроме того, слова site и service должны быть поняты в их пред-интернет-значениях. Ваш сайт может быть «физическим отделом» или «офисом финансов».

Далее говорится:

  

В больших системах может быть полезно структурировать / srv по административному контексту, например   / srv / physics / www, / srv / compsci / cvs и т. д. Эта настройка будет отличаться от хоста к хосту. Поэтому никакая программа   должен полагаться на определенную структуру подкаталога / srv, существующую или данные обязательно сохраняемые в / srv.   Однако / srv всегда должен существовать на совместимых с FHS системах и должен использоваться как место по умолчанию для   такие данные.

Поэтому вы должны структурировать свои данные в каталогах, таких как /srv/nfs , /srv/backup и т. д.

Я должен также упомянуть, что немногие люди делают это больше. Но нет веских причин, почему они этого не делают. Стандарт отнюдь не устарел.

/var традиционно используется для таких вещей, как print-spools и log-файлы, но также используется веб-сервером Apache (в любом случае, в системах Debian - использование SUSE / srv); По-видимому, не существует консенсуса относительно того, является ли /var правильным каталогом для общих данных. Но если вы решите использовать его вместо этого, у вас не будет никаких сожалений, я уверен.

Обратите внимание: ответ Karthick отнюдь не ошибается. FHS говорит, что / srv "следует использовать как место по умолчанию для такие данные », но стандарт оставляет место для ваших собственных предпочтений, в зависимости от того, как вы интерпретируете условия.

    
ответ дан Stefano Palazzo 07.12.2010 в 13:55
источник
12
  • Данные, не относящиеся к пользователю, могут быть сохранены в / usr / local / var , чтобы он больше не попадал на ресурс newtwork.
  • Все, что не под ../local/ .. разрешено входить в общий ресурс nfs, поэтому, если вы хотите загрузить данные из общего ресурса nfs и убедитесь, что они хранятся локально на жестком диске компьютера.
  • Затем вам нужно выбрать путь с ... / local / .. в нем .... остальное зависит от характера данных, от типа it.It может быть / local / var или / local / tmp и т. д.

Иерархия файловой системы:

Также ознакомьтесь с этим     

ответ дан karthick87 07.12.2010 в 12:07
5

Я не думаю, что FHS определяет любое место для общих пользовательских данных. Это до тех пор, пока они не захотят хранить общие данные. Обычно я использую /usr/local/shared или /home/shared .

    
ответ дан binW 07.12.2010 в 12:35
1

Я видел, что /export используется для обслуживания nfs, а /mnt используется для монтирования общего ресурса nfs в корпоративной среде, как это предлагается в документации NFS, стандарт, который, как я подозреваю, первоначально пришел из Sun OS, позже переименован в Solaris.

В файле /etc/exports указаны экспортированные тома, а каталог /exports служит для удаленных пользователей, которые монтируют их на /mnt . Хост сервера также может монтировать эти же ресурсы на /mnt с использованием того же самого демона nfs для использования любых клиентов или процессов, выполняемых локально на сервере, для сохранения совместимости с любыми удаленными хостами и, возможно, для сохранения функциональности выравнивания нагрузки, и др.

Это как можно ближе к стандарту. Обратите внимание, что /export не находится в FHS, поэтому /export добавлено независимо, поэтому, вероятно, никто не удовлетворен /srv . Вероятно, из-за возможной путаницы с «услугами», выполняемыми как демоны, а не «обслуживаемые» тома. /export однозначно названо с небольшой вероятностью путаницы. Я никогда не вижу ничего в /srv .

    
ответ дан cheryljosie 20.12.2012 в 04:27