shell上传文件脚本问题

请问shell脚本如何实现上传文件呢?该如何写啊
比如,通过脚本将本地服务器上的一个文件,ftp到另外一个地址的服务器上?
还有就是若上传不成功,比如出现网络故障?shell脚本中会跑出异常吗?若出现网络故障,如何在脚本中捕获,并且重新上传啊?
谢谢!

#####从ftp服务器上的/home/data 到 本地的/home/databackup####

#!/bin/bash

ftp -n<<!

open 192.168.1.171

user guest 123456

binary

cd /home/data

lcd /home/databackup

prompt

mget *

close

bye

!

http://blog.chinaunix.net/u/553/showart_1849420.html
看看这个 里面那句被注释掉的put就是上传