A única maneira de fazer isso é ter acesso interativo de alguma descrição no servidor remoto, então a resposta é não.
Existe um servidor Linux que eu acesso via sshfs
. Infelizmente, uma conexão ssh pura não é possível devido a preocupações de segurança nesse sentido.
Se eu acessar este servidor via sshfs, qualquer tipo de comando que eu execute será executado no servidor local, ou algo assim. Não sei como descrever isso.
Por exemplo, se houver um arquivo tar que contenha 10.000 arquivos no servidor remoto, se eu descompactar esse arquivo, demorará um longo tempo, porque ele está (sob o capô) essencialmente extraindo cada arquivo para o meu servidor local e depois copiá-lo para o servidor remoto. Onde, se eu estivesse fisicamente no próprio servidor remoto, o untarring seria muito rápido porque todo o trabalho é feito localmente. Eu acho que isso é uma coisa inerente sobre como o sshfs
funciona.
O que eu estou tentando descobrir é uma forma de executar comandos de uma maneira que será executada diretamente no servidor remoto ou que o servidor remoto execute os comandos.
Uma coisa que eu posso pensar é criar um cron job no servidor remoto para que ele execute (localmente) qualquer comando que eu der a ele. Mas isso é bastante inconveniente. Outra alternativa é executar um programa do tipo PHP Shell (já que o servidor remoto é um servidor da web). Qualquer comando dado via shell PHP seria executado localmente.
Existem comandos bash que podem ser usados para forçar os comandos de entrada a serem executados diretamente no servidor remoto? Eu tentei mexer com nohup
, mas não tenho certeza se isso é útil ou não ...
A única maneira de fazer isso é ter acesso interativo de alguma descrição no servidor remoto, então a resposta é não.
Muito tempo atrás, eu trabalhei com servidores em algum ISP onde eu posso acessar via ftp / sshfs etc, mas sem acesso ao shell interativo, para o servidor. Uma solução que eles têm é permitir que você configure um cron / at job através de uma interface web, ou uma cópia do arquivo crontab que você pode editar, que irá invocar scripts / comandos. Pergunte ao administrador se isso é possível, se o shell interativo não puder ser concedido.