Question

Je voudrais automatiser la création de liens symboliques sur mon ordinateur portable d'une simple application Rails en cours d'exécution sur un serveur distant. Je dois être en mesure d'exécuter les tâches du noyau sur l'ordinateur portable où que vous soyez. Est-ce même possible de le faire?

Était-ce utile?

La solution

Fetch un script distant et l'exécuter

Votre serveur peut créer un script Shell ou Ruby qui est destiné à être exécuté sur votre ordinateur portable. Votre ordinateur portable doit maintenant vérifier régulièrement pour ce script et l'exécuter. Les avantages sont:

  • Cela fonctionne non seulement pour votre ordinateur portable, mais pour toute autre machine qui vérifie le script.
  • Vous n'avez pas besoin de tout autre transport que http
  • Le serveur n'a pas besoin de connaître le client à l'avance
  • Cela fonctionne pour toute autre tâche que de créer des liens symboliques sans changement du côté client.

Le côté client pourrait être aussi simple que:

wget -O - "url" | ruby -

ou

wget -O - "url" | sh -

Générer une liste de liens symboliques sur votre serveur

Votre serveur peut créer une liste des liens symboliques nécessaires. Sur votre ordinateur client, vous auriez besoin d'un programme qui analyse régulièrement cette liste et crée les liens symboliques. Les avantages sont les suivants:

  • Vous n'avez pas besoin de faire confiance au serveur
  • Votre serveur ne peut pas faire rm -rf / par accident
  • Vous n'avez pas besoin de tout autre transport que http
  • Cela fonctionne non seulement pour votre ordinateur portable, mais pour toute autre machine qui vérifie la liste.

Le côté client pourrait être aussi simple que

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

Autres conseils

Vous pouvez le faire par le montage du système de fichiers à l'aide de fusible. Il est tout à fait une chose peu soignée, à mon avis.

Trouver Fuse

Edit:. Changé le lien pour pointer vers FuseFs, qui est fusible avec les liaisons Ruby, qui est ce que vous aurez besoin si vous utilisez Ruby

Vous pouvez utiliser la marionnette qui est basée rubis.

Si c'est seulement votre ordinateur portable et aucun autre client, vous pouvez faire le serveur ssh à votre ordinateur portable et faire tout ce dont il a besoin. En général, non, il est impossible pour un serveur HTTP à faire quoi que ce soit sur la machine cliente.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top