in reply to What would you like to see in a Virtual Filesystem for Perl?

I'd like to see this with the ability to implement userspace sshfs export on specified directories, or at least hooks to do so. I'm trying to work on a way to remote into a machine and run tools on the remote side, but have the output redirect to the calling machine, especially in an environment where the remote machine may be gapped, but it may be necessary to export logs for further analysis. In some cases logs would need to be extracted from dbs, and in some cases the logs are in text files. Many times, the analysis cannot be done on the remote host as there isn't enough space to do so without causing problems. And sometimes there's not enough space to actually collect the logs into a bundle.
  • Comment on Re: What would you like to see in a Virtual Filesystem for Perl?

Replies are listed 'Best First'.
Re^2: What would you like to see in a Virtual Filesystem for Perl?
by NERDVANA (Priest) on Mar 14, 2024 at 18:53 UTC
    I'm not quite sure how that would work. Do you mean that you want a remote perl script to reach backward across an SSH connection to write files onto your workstation?

    I know the SSH2 protocol can do some fancy things, but I haven't studied the details. I think the closest you could get with existing tools is to connect to that remote system with a port-forward of your own host's SSH port.

    ssh -R 54321:localhost:22 user@remote_system

    Now, the remote system can ssh back to you on port 54321. Then you could run sshfs on the remote system, and have your local files appear mounted on that remote system, where your application could write its log files. However, I don't know if sshfs is fancy enough to forward the lines of logging as they get written - it might do something like cache them locally until the file is closed then xfer the whole file.

    I think your best approach would be to make the remote application have the option of logging everything to stdout, instead of files. Then you can just see it on your existing ssh connection.