Scientific Linux 7의 Apache httpd 로깅에 대해 몇 가지 질문이 있습니다.
Apache 로깅이 구성된 로그 디렉터리에서 일종의 하드 링크를 사용하는 것 같습니다./etc/httpd/로그도착하다/var/log/httpd(디렉터리는 다른 파일 시스템에 있지만?!?!)
파일이 다음에서 생성된 경우/etc/httpd/로그그것은에도 나타납니다/var/log/httpd. "/"(/etc/httpd/logs가 있는 위치)의 디스크 사용량은 증가하지 않지만 "/var"(/var/log/httpd가 있는 위치)의 디스크 사용량은 증가합니다.
이 두 위치에 있는 파일이나 디렉터리 간의 소프트 링크에 대한 참조는 없습니다.
이 출력은 두 디렉터리 모두 동일한 inode 참조를 가지고 있음을 보여줍니다.
lsof /var/log/httpd/
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
bash 5062 root cwd DIR 8,6 52 3271451 /etc/httpd/../..
lsof /var/log/httpd/
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
bash 5062 root cwd DIR 8,6 52 3271451 /var/log/httpd
이는 두 디렉터리가 서로 다른 파일 시스템에 있어야 함을 나타냅니다.
df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 5109760 1170352 3939408 23% /
devtmpfs 933028 0 933028 0% /dev
tmpfs 942256 0 942256 0% /dev/shm
tmpfs 942256 16928 925328 2% /run
tmpfs 942256 0 942256 0% /sys/fs/cgroup
/dev/sda8 98988 5328 93660 6% /home
/dev/sda5 1020588 32984 987604 4% /tmp
/dev/sda6 1020588 882452 138136 87% /var
/dev/sda7 201388 61384 140004 31% /support
/dev/sda9 47788 10080 37708 22% /var/log/audit
/dev/sda1 252588 153472 99116 61% /boot
tmpfs 188452 0 188452 0% /run/user/0
이는 2개의 디렉토리에 대한 inode 디렉토리 목록을 보여줍니다.
ll -id /var/log/httpd /etc/httpd/logs/
3271451 drwx------ 2 root root 52 Jun 20 14:06 /etc/httpd/logs/
3271451 drwx------ 2 root root 52 Jun 20 14:06 /var/log/httpd
첫 번째 질문은 이 구성이 어떻게 가능합니까? 파일 시스템 간에 하드링크할 수는 없다고 생각합니다. 일부를 사용하여 가능합니까?바인드 마운트?
두 번째 질문은 여기서 Apache 로깅을 어떻게 중지합니까? Apache의 구성 파일에는 다음 로깅을 참조하는 항목이 없습니다./var
어떤 조언이라도 대단히 감사하겠습니다.
답변1
맞습니다. 하드 링크는 파일 시스템 경계를 넘을 수 없습니다. 하지만 이 예에서는 /etc/httpd 아래에 로그 디렉터리에 대한 소프트 링크가 있습니다.
logs -> ../../var/log/httpd
이러한 유형의 기호 링크는 이러한 경계에 걸쳐 있는 경로 이름일 수 있습니다. 설명하신 내용은 Apache에 대한 일반적인 Red Hat/Scientific 설정처럼 보입니다.
이 파일에서 /etc/httpd/conf/httpd.conf
로깅 위치를 확인할 수 있으며 일반적으로 ErrorLog 및 CustomLog를 설정하며 이는 변경할 수 있습니다. 그러나 모든 로깅을 단일 위치로 변경하려면 아래의 심볼릭 링크를 변경해야 할 수도 있습니다./etc/httpd