Apache 2.4를 준수하도록 모든 구성 파일 끝의 이름을 일괄 변경합니다.

Apache 2.4를 준수하도록 모든 구성 파일 끝의 이름을 일괄 변경합니다.

Apache 2.4부터 /etc/apache2/sites-available및 의 모든 파일 sites-enabled이름은 다음으로 끝나야 합니다..conf

이제 내 서버에 이러한 파일이 많이 있으므로 이름을 바꾸는 sites-available것이 쉽습니다.

for i in /etc/apache2/sites-available/*; do 
  if [[ $i != *.conf ]]; then
    mv -v $i $i.conf; 
  fi
done

sites-enabled하지만 하나의 명령으로 모든 링크의 이름을 어떻게 바꿀 수 있습니까?

답변1

명령 하나만 필요한 것은 달성하기 어려운 일입니다.유닉스 철학마음.

반면에, 당신은 재치 있는 말을 통해 세계의 주요 부분을 지배할 수 있습니다.

sites-available먼저 질문의 스크립트를 사용하여 구성 파일을 수정한 후 sites-enabled.

cd /etc/apache2/sites-enabled
find . -type l -ls \
| awk '{print $13 ".conf -> " $11 ".conf"}' \
| mmv -s -n

그러면 기존 링크가 사용되며 .conf소스와 대상에 연결된 새 링크가 생성됩니다.

mmv -n~이다시운전이것은 단지 무엇을 기대해야 하는지를 보여줍니다. 결과가 만족스러우면 실행하지 않고 다시 실행하세요.-n

그런 다음 -n 없이 mmv를 실행한 후 다음 명령을 사용하여 오래된 매달려 있는 심볼릭 링크를 제거합니다.

find -L /etc/apache2/sites-enabled -type l -delete

관련 정보