下面这个是我一直在用的,会检查ftp错误。
#!/bin/sh
ftp_put()
{
# -n:不使用auto-login;-i:不使用交互式提示输入
ftp -n -i $ipAddr <
quote PASS $password
cd b
lcd a
binary
put $myfile
bye
EOF
}
ipAddr=ftp地址
username=你的ftp用户名
password=你的ftp密码
myfile=你要传的文件名(只要名称无需路径)
putErrlog=用于记录ftp错误的日志文件
ftp_put >/dev/null 2>$putErrlog #ftp错误导入日志文件
bytes=`wc -c $putErrlog | awk '{print $1}'` #检查错误日志文件的字节大小
if [ $bytes -ne 0 ]; then #大小不为0说明发生了错误,之后可以手动打开文件检查错误原因
echo "FTP put failed!"
exit 1
else
echo "FTP put successfully!"
fi
exit 0
随手写了个简易的,希望对你有帮助
#!usr/bin/sh
##############################
#远端FTPIP
FTPIP=""
#远端FTP用户名
FTPUSER=""
#远端FTP用户密码
FTPPSWD=""
#远端FTP目标路径
DEST_PATH=""
#本地路径
LOCAL_PATH=""
#需FTP的文件名
FILE_NAME=""
##############################
ftp -i -n -v ${FTPIP} << FTP 2>/dev/null
user ${FTPUSER} ${FTPPSWD}
bin
cd ${DEST_PATH}
lcd ${LOCAL_PATH}
put ${FILE_NAME}
bye
FTP
脚本主体:
ftp -n ftp_ip_addr <
prompt
cd ftp_Server_dir # lcd local_server_dir
get file_from_server # put file_from_local
EOF