lote-renomeia todas as terminações do arquivo de configuração para estar em conformidade com o apache 2.4

1

Desde o Apache 2.4, todos os arquivos em /etc/apache2/sites-available e sites-enabled precisam ser nomeados com o final .conf

Agora no meu servidor eu tenho muitos desses arquivos, renomear os arquivos em sites-available é fácil:

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

Mas como posso renomear todos os seus links em sites-enabled com um comando?

    
por rubo77 02.12.2014 / 21:13

1 resposta

3

A necessidade de apenas um comando é algo difícil de alcançar com filosofia unix em mente.

Por outro lado: você pode governar grandes partes do seu mundo usando one-liners.

Primeiro, corrija os arquivos de configuração em sites-available com o script da pergunta e use o seguinte código para criar novos links simbólicos em sites-enabled .

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

Isso usa seus links existentes e cria novos com .conf anexados a ambos, origem e destino.

mmv -n é o dry run que mostra apenas o que teria acontecido. Se você estiver satisfeito com os resultados, execute novamente sem -n

Depois de executar o mmv sem -n,  remover os antigos links simbólicos pendentes com

find -L /etc/apache2/sites-enabled -type l -delete
    
por 02.12.2014 / 21:43

Tags