Eu sugiro que você use uma ferramenta como Rex ou Capistrano para essas tarefas. Com essas ferramentas, você pode escrever instruções de implantação que também podem ser usadas por outras pessoas.
Eu estou tendo um aplicativo que é instalado em vários lugares. Eu gostaria de criar um script que realiza a atualização do aplicativo. Ambas as tabelas mysql e o aplicativo PHP real precisam ser atualizados.
Como esta é a primeira vez que estou fazendo isso, estou me perguntando para onde devo ir; criando o script em PHP ou em Bash? Quais são os prós e contras das duas alternativas?
A longo prazo, pode ser que se possa fazer a atualização para o aplicativo a partir do aplicativo real, mas nesta primeira etapa eu o executarei a partir do shell.
Estou usando o linux (CentOS), apache, mysql
Como vou injetar informações de um banco de dados no script, vou com o PHP.
Mais tarde, este script pode ser bastante competente, então eu acho que é mais fácil fazer isso no PHP do que no Bash.
Eu sugiro que você use uma ferramenta como Rex ou Capistrano para essas tarefas. Com essas ferramentas, você pode escrever instruções de implantação que também podem ser usadas por outras pessoas.
Você deve realmente fornecer as informações sobre o tipo de atualização que você fará no PHP. Em geral, será muito fácil gerenciar aplicativos em vários servidores usando o bash, emitindo comandos SSH diretos.
Por exemplo, se você tem certeza de fazer o SVN em um diretório, você pode usar algo assim
ssh [email protected] 'svn up /path/to/php/app'
E para atualizar as tabelas do MySQL, você pode usar o cliente cli do MySQL
ssh [email protected] 'mysql -e "[SQL STATEMENT]"'