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つのコマンドですべてのリンクの名前をどのように変更できますか?

答え1

1つのコマンドだけが必要なのは達成するのが難しいことです。Unixの哲学心。

一方、あなたは気の利いた言葉を通して世界の主要部分を支配することができます。

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

関連情報