Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [JAVA] Eseguire uno script in remoto

    Ciao a tutti, vado subito al punto
    Vorrei far eseguire uno script sh residente su un'altra macchina dal mio computer.
    Se il file è in locale utilizzo:
    Process p =Runtime.getRuntime().exec(nomefile.sh);
    il file sh è del tipo:
    #! /bin/bash
    ls

    Come posso fare invece se è su un'altra macchina?(Questa macchina cmq è sulla stessa LAN)
    Ho provato a mettere indirizzoip/percorso/nomefile ma niente.
    Qualcuno a qualche suggerimento?
    Grazie.

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: [JAVA] Eseguire uno script in remoto

    Originariamente inviato da Modyx
    Come posso fare invece se è su un'altra macchina?
    Lo script lo devi eseguire sulla macchina su cui stai girando il tuo programma Java o lo devi eseguire sulla macchina remota??
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Si lo script lo devo eseguire sulla stessa macchina su cui gira il mio programma java, ma questo script è su un altro pc ma comunque nella stessa lan.

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Modyx
    Si lo script lo devo eseguire sulla stessa macchina su cui gira il mio programma java, ma questo script è su un altro pc ma comunque nella stessa lan.
    Ok, quindi sulla tua macchina hai Linux e vuoi eseguire uno script che semplicemente risiede su un'altra macchina Linux.
    Fosse su Windows basterebbe specificare il path come \\macchina\blabla\bla ma su Linux credo che l'unico modo sia quello di "montare" il file-system remoto con il comando 'mount'.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Originariamente inviato da andbin
    Ok, quindi sulla tua macchina hai Linux e vuoi eseguire uno script che semplicemente risiede su un'altra macchina Linux.
    Fosse su Windows basterebbe specificare il path come \\macchina\blabla\bla ma su Linux credo che l'unico modo sia quello di "montare" il file-system remoto con il comando 'mount'.
    credo di essermi spiegato male, ora ho riordinato un pò le idee.

    Allora io sono su una macchina Windows, ho fatto una Java Application tramite NetBeans 6 che dovrebbe seguire questo filo logico:
    1) Inserisco il nome del file sh
    2) Il file è presente su una macchina Linux in una directory del tipo /home/utente/nomefile.sh
    3) La mia Java Application dovrebbe eseguire tale file sh su quella macchina e mostrare l'output sulla mia.

    Inizialmente avevo pensato di fare eseguire il file sh sulla mia macchina, ma mi sono reso conto che essendo appunto un file sh non posso eseguirlo su windows, quindi ho scartato l'idea iniziale.
    Grazie e scusate per la confusione iniziale.

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Modyx
    Allora io sono su una macchina Windows, ho fatto una Java Application tramite NetBeans 6 che dovrebbe seguire questo filo logico:
    1) Inserisco il nome del file sh
    2) Il file è presente su una macchina Linux in una directory del tipo /home/utente/nomefile.sh
    3) La mia Java Application dovrebbe eseguire tale file sh su quella macchina e mostrare l'output sulla mia.
    Allora potresti provare con il comando REXEC di Windows (a patto che sulla macchina Linux il servizio REXEC sia attivato).

    Originariamente inviato da Modyx
    Inizialmente avevo pensato di fare eseguire il file sh sulla mia macchina, ma mi sono reso conto che essendo appunto un file sh non posso eseguirlo su windows
    Ovviamente non "nativamente". Si può fare però installando ambienti come cygwin
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    grazie per l'aiuto
    Vedrò quale soluzione adottare.

  8. #8
    fai un applicazione RMI, il server risiede sulla macchina che ha il comando da eseguire e lo lanci da qualsiasi cliente.

    public interface RemoteCommand extends Remote {

    public StringBuffer runCommand(String myPathToCommand) throw RemoteException;
    }

    public class RemoteCommandImpl implements RemoteCommand extends UnicastRemoteObject {

    .. bla bla ..
    public StringBuffer runCommand(String myPathToCommand) throw RemoteException{

    Runtime.getRuntime().exec(myPathToCommand);

    ..bla bla ... Riempi StringBuffer con output comando

    return myStringBuffer;


    }
    }

    spero di esserti stato di aiuto.

    AP

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.