Search code examples
bashubuntusshtailhead

Using bash and ssh how do I write a log locally from a remote host


I am trying to get data from a file from a remote host and write to a log file locally using SSH. The log file tmp_results.log is not being created. Any ideas where I 'm going wrong please?

 ( ssh -nq -o StrictHostKeyChecking=no \
-i $PEM_PATH/$PEM_FILE $USER@${host} -p $REMOTE_PORT \
tail -n 6  $REMOTE_HOME/data/result.jtl | >> $SCRIPT_DIR/$project/tmp_results.log)

Solution

  • You seems a little bit confused by using pipes and redirections of filedescriptors.

    Here you write in your logfile:

    ssh -nq -o StrictHostKeyChecking=no \
    -i $PEM_PATH/$PEM_FILE $USER@${host} -p $REMOTE_PORT \
    tail -n 6  $REMOTE_HOME/data/result.jtl > $SCRIPT_DIR/$project/tmp_results.log
    

    If you want to append the output on existing file just use:

    ssh -nq -o StrictHostKeyChecking=no \
    -i $PEM_PATH/$PEM_FILE $USER@${host} -p $REMOTE_PORT \
    tail -n 6  $REMOTE_HOME/data/result.jtl >> $SCRIPT_DIR/$project/tmp_results.log