il punto è che il comando.bat non risiede sul server linux, e ovviamente non è possibile lanciare un comando eseguibile su un computer semplicemente da un altro, immaginati le implicazioni di sicurezza in uno scenario del genere.
A questo punto l'unica soluzione è mettere anche sul pc windows un web server con configurato php.
In una pagina php che metterai sul web server windows metterai la system con la chiamata al comando bat, che in questo caso risiederà sullo stesso pc da cui è lanciata la pagina.
Poi sul server linux nella pagina php alla quale vuoi far eseguire il comando metterai una chiamata all'url del tuo pc puntando alla pagina php che esegue il comando.
Poniamo il caso che installi apache su windows e che il pc con windows abbia
ip : 192.168.0.10,
mentre il server linux abbia ip : 192.168.0.5
Nella document_root del server windows metti una pagina php chiamata system.php, dentro questa pagina metterai
codice:
<?php
system('C:/comando.bat');
?>
Sul server linux una pagina php chiamata "esegui_richiesta.php" che chiama la pagina php sul server windows
codice:
<?php
fopen('http://192.168.0.10/system.php');
?>
Quando nel browser chiamerai l'indirizzo http://192.168.0.5/esegui_richiesta.php verrà eseguito il comando.
In pratica
codice:
[Browser] - chiama una pagina php sul server linux-
|
|
[Server Linux] -chiama una pagina sul server windows-
|
|
[Server Windows] -richiama il comando in C:\ -