Qual é a melhor maneira de adicionar arquivos a um diretório da Web atomicamente?

1

Então, tenho uma pergunta estranha, mas estou trabalhando em um script para implantar uma base de código PHP e quero ver se algo assim é possível:

Eu tenho um diretório que o Apache usa como DocumentRoot:

/home/www/

Temos um aplicativo PHP que deve adicionar vários arquivos e diretórios a esse diretório.

No momento, estamos fazendo isso através do SCP 's de um tarfile e extraindo-o em / home / www. Eu estou olhando para fazer isso de uma maneira melhor, porque quando estamos extraindo os arquivos, nosso aplicativo PHP recebe alguns erros de permissão de leitura. Eu gostaria de atualizar esses arquivos atomicamente dentro de /home/www (e de preferência "de uma só vez")

Existe uma maneira de fazer isso sem ter que fazer um symlink para cada arquivo / diretório que estou extraindo para o diretório web?

    
por mmattax 16.12.2011 / 20:57

1 resposta

3

Eu geralmente configurarei algo assim.

/var/www/version1
/var/www/version2
/var/www/production (document root, symlink -> current version)

Então, basicamente, você só faz o upload para um novo diretório, assim que o upload for concluído, ajuste seu link simbólico e tudo será alterado de uma só vez.

Quando os aplicativos são projetados de forma a separar o código do aplicativo ( como deveriam! ), a vida é muito mais complicada. Você pode ter que fazer algo com um sindicato.

    
por 16.12.2011 / 21:05