Copie uma pasta e seu conteúdo para todo o host Niganx vhosts

2

Estou interessado em saber se há uma única linha de comando que permita copiar recursivamente uma pasta para todas as nossas pastas htdocs do Host Virtual NGINX:

Eu preciso copiar essa pasta para todos os hosts localizados em vhosts:

/var/www/vhosts/*/htdocs/
    
por Ben O 23.07.2014 / 17:22

2 respostas

1

Com todo o respeito, não acho que o código / resposta acima esteja correto.

if [ -d dir] é provavelmente uma tentativa de if [[ -d "$dir" ]] .. ou [[ -d "$dir" ]];..

O código a seguir deve funcionar e fazer o que você quiser.

vhostdirs=( ./var/www/vhosts/* )
  for dir in "$vhostdirs"
   do 
     cp -r "folder_to_be_copied" "$dir/htdocs/"
   done

Mente também as aspas " " em torno das variáveis que são essenciais para que os espaços em branco nos nomes dos diretórios sejam preservados.

    
por 23.07.2014 / 20:14
2

Este script pode ser útil:

for dir in /var/www/vhosts
do
    if [ -d dir]
    then
        cp -r DIR_TO_COPY $dir/htdocs
    fi
done
    
por 23.07.2014 / 17:35