/var/app_name/에 영구 데이터를 저장하는 것이 안전합니까?

/var/app_name/에 영구 데이터를 저장하는 것이 안전합니까?

애플리케이션별(읽기-쓰기) 데이터(예: 로그 파일, 구성 및 기타 애플리케이션별 메타데이터)가 포함된 시스템 전체 디렉터리를 만들고 싶습니다.

Linux 파일 시스템에 대해 자세히 읽은 후 사용을 고려했지만 /var/app_name/일부 하위 디렉터리가 임시라는 사실을 알게 되었습니다(예: run, log, 등 재부팅 후에도 지속되지 않음 tmp).

이것이 얼마나 중요합니까? 제 말은, 다른 디렉터리(예 /home/app_name/: )를 사용해야 할까요, 아니면 /var/app_name/괜찮을까요?

답변1

~에서파일 시스템 계층 표준:

응용 프로그램은 일반적으로 /var의 최상위 수준에 디렉터리를 추가해서는 안 됩니다. 그러한 디렉토리는 시스템 전체에 영향을 미칠 경우에만 추가해야 하며 FHS 메일링 목록을 참조해야 합니다.

/etc/app_name/프로그램의 구성 파일과 기타 콘텐츠를 저장하고 /var/log/app_name/로그 파일을 저장하는 데 사용해야 합니다 .

애플리케이션에서 사용하는 데이터의 경우 다음을 저장할 수 있습니다.

  • 영구 /var/lib/app_name/데이터 및 메타데이터
  • /var/cache/app_name/안전하게 삭제할 수 있는 모든 애플리케이션 캐시
  • /var/spool/app_name/처리 대기 중인 데이터

정말사용하지 마세요 /home/app_name/사용자를 위해 예약된 홈디렉터리애플리케이션 이름. 프로그램을 실행할 특정 사용자를 생성해야 하는 경우 여기로 이동합니다.

의견의 질문과 관련하여 Linux는 사용자가 입력한 모든 회전 로그를 자동으로 삭제하지 않습니다 /var/log/. 실제로 시스템 관리자는 로그가 모든 공간을 채우는 정반대의 문제에 직면하는 경우가 많습니다. 따라서 로그 파일을 삭제하거나 교체하는 것은 logrotate사용자 정의 cron 작업을 통해 수행됩니다.

답변2

/var/app_name이름이 지정된 애플리케이션에 대한 영구 데이터를 저장하는 데 사용하는 것이 안전해야 합니다 app_name.

예를 들어, 현재 사용 중인 시스템에서 PostgreSQL 및 MySQL(MariaDB)의 기본 데이터베이스 디렉터리는 입니다 /var/postgresql./var/mysql

/var/tmp임시 파일에만 사용해야 하지만 시스템이 이 디렉터리를 지울 가능성은 없습니다(예를 들어 재부팅 시와는 다름 /tmp). /var/runPID 파일과 명명된 소켓을 저장하는 데 가장 일반적으로 사용됩니다.

나는 개인 계정 디렉토리와 가장 일반적으로 관련된 것들을 피할 것입니다 /home/app_name./home

또한보십시오:https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard

애플리케이션은 구성 파일을 에 /etc, 로그 파일을 에 /var/log, 데이터를 에 저장하도록 선택할 수 있습니다 /var/app_name. 위에서 예로 사용한 PostgreSQL과 MariaDB에서는 시스템 시작 후크를 제외한 모든 것을 /var.

관련 정보