Netcat Scheduled Server / Client File Transfer Script
Using Netcat may be “Old School”, but so am I, so I love using Netcat for simple tasks or just chatting without Big Brother paying too much attention. I love using Bold Text too.
These are two separate scripts, one for use on a server, “server.sh” (home pc/Pi/laptop or and server that allows you to use Netcat) and “client.sh”, which you can use on your Android or Laptop etc from a mobile location.
Of course you’re going to have to set permissions and run them. I highly suggest editing out the sleep function and using cron if you’re savvy as this is really meant to update files such as remote sensors, cameras etc.
*Edit the IP address to your server in client.sh.
server.sh
#!/bin/bash
clear
echo "Server Running."
mkdir incoming
date="$(date +'%Y-%m-%d_%H-%M')"
file="incoming/payload.file"
# Set the Servers Port To Listen On
echo $(nc -l 1234 > $file)
mv $file "incoming/$date.payload"
echo "File Recieved."
sleep 10
./$(basename $0) && exit
client.sh
#!/bin/bash
clear
mkdir outgoing
echo "Client Running."
file="outgoing/payload.file"
# For Demo Only
touch $file
echo "Some Data" >> $file
# Set The Server IP and Port To Connect To
echo $(nc -w 3 192.168.1.XXX 1234 < $file)
echo "File Sent."
sleep 60
./$(basename $0) && exit