Cron Job Question

Discussion in 'Programming/Scripts' started by bschultz, Sep 18, 2008.

  1. bschultz

    bschultz Member

    I'm trying to set up a cron job. Here's my problem: I need to download something on my server...and then send that file (an mp3) to a second server. BUT, I'm having some firewall problems on the second server's domain (and I don't control that firewall!). I can't get in directly to the final destination machine. I need to ssh into the firewall...and then ssh into the final destination on that domain.

    Here's what I have so far:

    Code:
    #!/bin/sh
    set -e
    
    cd /downloads/
    rm *.mp3
    wget -nd -r -l1 --no-parent --no-passive-ftp -A.mp3 'ftp://user:password@server1'
    ssh server2.com
    sleep 10
    ssh 192.168.2.245 (this is the final destination, which is on the LAN of server2.com)
    sleep 10
    /getdownloads.txt
    
    Now, you might ask, why not download the mp3 directly to the final destination machine? I'd love to, but behind that firewall, I can't connect to that ftp site.

    When I ssh into server2.com, the script above stops. Is what I'm trying to do possible? If so, what needs to be changed?

    Thanks!
     
    Last edited: Sep 18, 2008
  2. topdog

    topdog Active Member

    Why don't you open one session to the firewall that portforwards to the inside machine.

    then your second connection can connect to the forwarded port which sends you direct to the inside machine.
     
  3. bschultz

    bschultz Member

    What? Can you give an example please?
     
  4. topdog

    topdog Active Member

    Okay this is how u do it, you can create a config file ~/.ssh/config

    Code:
    Host firewall
    Hostname firewall_ip_address
    Localforward 2222 host_behind_firewall:22
    Then ssh firewall, this will create a socket bound to localhost port 2222

    When you
    Code:
    ssh -P 2222 localhost
    You will be sent to the machine behind the firewall then u can run the commands on it.

    Or you can do it on the command line ssh firewall -L 2222 host_behind_firewall_ip:22
     
  5. bschultz

    bschultz Member

    Thanks for the help, topdog. I can't get past the firewall, though. Not sure what it's doing...and since I don't control it, not much I can do.

    Would it make more sense to run the cron job on the final destination machine and then ssh into my server...and then scp the files back to the final destination? I can get from the final machine to my server through that firewall...just not to the ftp site to download the mp3s.
     

Share This Page