Pergunta

Freqüentemente estou sshing em um servidor, mudando para um diretório específico e executando o svn-update

Estou pensando que provavelmente existe uma maneira muito fácil de automatizar isso, para que eu possa simples um subdiretório específico quando executar o script e ele fará login via SSH, CD para o diretório certo e executará o svn-update.

Isso é um trabalho para Capistrano ou um script simples pode fazer o trabalho?

Foi útil?

Solução

Parece um trabalho para Cron. Executar Crontab, e adicione uma entrada como sim:

#min hour date month day command
 0   *    *    *     *   ssh user@host '(cd path/to/working/copy; svn update)' 

Você pode precisar configurar autenticação sem senha ssh com ssh-agent para que não solicite.

Editar (por comentários abaixo):

Supondo que você tenha privilégios suficientes para fazê -lo, corra

ssh user@host crontab -e

Em seguida, adicione uma entrada como assim:

#min hour date month day command
 0   *    *    *     *   (cd path/to/working/copy; svn update)

Você pode ignorar a parte acima da edição, a menos que seu servidor não permita que você use o CRON.

Outras dicas

Talvez você deva se perguntar por que está executando essa ação?

Um servidor de construção como CruiseControl ou Hudson poderia resolver o caso mais geral (de saber quando um commit SVN foi realizado)?

Se você precisar de monitorar em um servidor SVN específico e tiver acesso administrativo a ele, poderá ativar um gancho pós-comprometimento ao servidor, por exemplo, para enviar um email em todos os comprometimentos (ou apenas em alguns tipos específicos de começos) .

Ajudaria, se você pudesse esclarecer a base de sua situação.

O script bash simples fará isso, adicione o comando svn update ao seu arquivo /etc /perfil.

Ver Aqui para Bash Login processamento de scripts.

Se você deseja executá -lo de uma caixa diferente (ou seja, não fazer login), lembre -se de que o SSH não sairá se houver um processo em execução; portanto, convém executar a atualização em segundo plano, com tudo redirecionado para /dev / nulo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top