⑴ 用shell脚本调用ftp命令,mget怎么取得动态文件
5天, 多个天行不? 先敲一个 prompt off 这样就取消了提示你每个文件敲yes的繁琐步骤, mget 2013102*
⑵ linux下用shell编程FTP上传文件的问题
Linux下用shell编程实现ftp自动登录上传文件,代码如下:
####把本地/home/databachup/a.shupftp/home/databackup下####
#!/bin/bash
ftp-n<<!
openFTP服务器IP地址
userFTP账户FTP密码
binary
cd/home/data
lcd/home/databackup
prompt
puta.sha.sh#要上传的文件
close
bye
!
⑶ shell脚本中ftp连接
对,$?仅表示上一个命令ftp成功与否。
无法判断远程文件是否存在,只能通过判断本地文件大小来得知。
若远程文件不存在,则FTP获取到本地会产生一个0字节大小的文件(用 wc -c 获取文件字节数,并与0比较即可),也可能就没有产生文件(用test表达式 [ -e $save_name ] 来判断)。
无法判断具体是什么问题,只能得知一个结果:FTP获取文件失败。
--------------------------------------------------------------------------------------------
根据你自己的情况来判断。那就用 [ -e $save_name ] 判断本地文件是否存在。
--------------------------------------------------------------------------------------------
-e 判断文件是否存在(exist),-f 判断这个“文件”是否为文件(file)
⑷ shell语句中如何在for当中使用ftp命令
ftp a.b.c.d <<EOF
binary
get urfile
close
bye
EOF
⑸ shell定时下载ftp文件并重命名放到指定文件夹
到你执行这个sh的用户的mail文件里面去看日志,比如你是用的root用户,那么你可以打开/var/mail目录下的root文件,里面会记录3点钟crontab的执行情况。
一般来说问题2个方面:
1.这个sh本身不对,你可以单独执行这个sh来调试
2.sh缺少执行权限
有问题可以追问,希望对你有帮助
⑹ shell连接ftp的脚本
区别在于排版不同
你使用<< FTPINI时, 下面的行都要在定格写,即行开头不能有空格,直至结束,如
ftp -i -n $ip << FTPINI
cd /pub
ls
FTPINI
而加了-后,下面的行可以加入tab排版,如
ftp -i -n $ip <<-FTPINI
cd /pub
ls
FTPINI
⑺ shell中ftp -in
-n禁止第一次连接的时候自动登陆,即不使用.netrc文件;
-i 在多个文件传输期间关闭交互提示,相当于FTP中prompt命令关闭;
整个FTP过程中所有的命令都从文件$FTPFILE中获取,并将过程追加记录到$LOGFILE中
⑻ 求助:使用SHELL语言编写一个脚本实现ftp功能,将一个文件从本地a目录取到服务器b目录。
下面这个是我一直在用的,会检查ftp错误。
#!/bin/sh
ftp_put()
{
# -n:不使用auto-login;-i:不使用交互式提示输入
ftp -n -i $ipAddr <<EOF
quote USER $username
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
⑼ 如何在ftp命令中使用shell变量
就是感叹号! 进入ftp后ftp> help !! Escape to the shell 实际上,感叹号!会新建一个shell,要再回到ftp,敲exit命令退出这个新建的shell即可。