Domanda

Vado spesso a cercare un server, passando a una directory specifica ed eseguendo svn-update

Sto pensando che probabilmente c'è un modo molto semplice per automatizzare questo, quindi posso semplicemente specificare una sottodirectory quando eseguo lo script e accederà tramite SSH, cd nella directory giusta ed eseguirà svn-update.

È un lavoro per capistrano o potrebbe fare un semplice script bash?

È stato utile?

Soluzione

Sembra un lavoro per cron . Esegui crontab e aggiungi una voce in questo modo:

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

Potrebbe essere necessario configurare autenticazione senza password ssh con ssh-agent in modo che vinca 'prompt.

MODIFICA (per commenti sotto):

Supponendo che tu abbia i privilegi sufficienti per farlo, esegui

ssh user@host crontab -e

Quindi aggiungi una voce in questo modo:

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

Puoi ignorare la parte sopra la modifica, a meno che il tuo server non ti permetta di usare cron.

Altri suggerimenti

Forse dovresti chiederti perché stai eseguendo questa azione?

Un server di compilazione come CruiseControl o Hudson potrebbe risolvere il caso più generale (sapere quando è stato eseguito un commit svn)?

Se è necessario il monitoraggio su un server svn specifico e si dispone dell'accesso amministrativo ad esso, è possibile abilitare un hook post-commit sul server, ad esempio per inviarti un'e-mail su ogni commit (o solo su alcuni tipi specifici di commit).

Sarebbe d'aiuto, se potessi chiarire il caso d'uso della tua situazione.

lo farà lo script bash semplice, aggiungerà il comando svn update al tuo file / etc / profile.

Vedi qui per l'elaborazione dello script bash .

Se vuoi eseguirlo da una casella diversa (cioè non accedere) ricorda solo che ssh non uscirà se c'è un processo in esecuzione, quindi potresti voler eseguire l'aggiornamento in background, con tutto reindirizzato a / dev / null.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top