Domanda

Vorrei automatizzare la creazione di collegamenti simbolici sul mio computer portatili da una semplice applicazione Rails in esecuzione su un server remoto. Avrei bisogno di essere in grado di eseguire le attività del kernel sul computer portatile da qualsiasi luogo. Questo è anche possibile fare?

È stato utile?

Soluzione

Fetch uno script da remoto ed eseguirlo

Il server potrebbe creare uno script di shell o Ruby che si rivolge per essere eseguito su un computer portatile. Il vostro computer portatile ha ora bisogno di controlli regolari per questo script ed eseguirlo. I vantaggi di questo sono:

  • Questo funziona non solo per il vostro laptop, ma per qualsiasi altra macchina che controlla per lo script.
  • Non è necessario qualsiasi altro trasporto di http
  • Il server non ha bisogno di sapere del cliente in anticipo
  • Questo funziona per qualsiasi altra attività che creare link simbolici senza modifiche sul lato client.

Il lato client potrebbe essere semplice come:

wget -O - "url" | ruby -

o

wget -O - "url" | sh -

generare un elenco di link simbolici sul server

Il server potrebbe creare una lista dei link simbolici necessari. Sul computer client si avrebbe bisogno di un programma che analizza regolarmente questa lista e crea i collegamenti simbolici. I vantaggi sono:

  • Non è necessario fidarsi del server
  • Il server non può fare rm -rf / per caso
  • Non è necessario qualsiasi altro trasporto di http
  • Questo funziona non solo per il vostro laptop, ma per qualsiasi altra macchina che controlla per la lista.

Il lato client potrebbe essere semplice come

wget -O - "url" | ruby -r yaml -e "YAML.load(STDIN).each { |a, b| \`ln -s \"#{a}\" \"#{b}\" \` }"

Altri suggerimenti

Si potrebbe fare montando il file system con fusibile. E 'una cosa abbastanza pulita poco, a mio parere.

Trova Fuse qui

Modifica:. Cambiato il link per puntare a FuseFs, che è fusibile con attacchi di Ruby, che è ciò di cui ha bisogno se si sta utilizzando Rubino

È possibile utilizzare fantoccio che si basa rubino.

Se è solo tuo laptop e nessun altro cliente, allora si può fare il server SSH al vostro computer portatile e fare tutto ciò di cui ha bisogno. In generale, no, non è possibile per un server HTTP per fare qualsiasi cosa sulla macchina client.

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