当前位置:首页 » 文件传输 » shell中ftp
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

shell中ftp

发布时间: 2023-07-05 22:22:52

⑴ shell ftp not connected

您问的是shell ftp not connected翻译吧。
译为:shell ftp未连接。写的一个shell中,一直是可以正常连接ftp的,近期ftp服务器修改了密码,所以shell里的密码也要跟着修改,只要在密码上面用单引号引住就可以正常连接了。

⑵ xshell ftp 工具怎么使用

xshell和Xftp安装完成之后。打开Xshell,点击新建

⑶ 求助:使用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

⑷ shell脚本中ftp连接

对,$?仅表示上一个命令ftp成功与否。
无法判断远程文件是否存在,只能通过判断本地文件大小来得知。
若远程文件不存在,则FTP获取到本地会产生一个0字节大小的文件(用 wc -c 获取文件字节数,并与0比较即可),也可能就没有产生文件(用test表达式 [ -e $save_name ] 来判断)。
无法判断具体是什么问题,只能得知一个结果:FTP获取文件失败。
--------------------------------------------------------------------------------------------
根据你自己的情况来判断。那就用 [ -e $save_name ] 判断本地文件是否存在。
--------------------------------------------------------------------------------------------
-e 判断文件是否存在(exist),-f 判断这个“文件”是否为文件(file)

⑸ shell脚本ftp到远程目录

1.下载远程电信机房中机器上已打包好的数据.这个不难,一条语句搞定.
复制代码代码如下:
wget
ftp://user_name:password@ip_address:port/dir/file_name
2.定时任务,需要写个脚本,并加入定时任务中.
a.脚本.假设你计划将远程的文件备份到/var/www/html/back目录下,到这个目录下,新建文件,内容如下
复制代码代码如下:
!#/bin/sh
cd
/var/www/html/back/
wget
ftp(上面那条语句)
保存为bak.sh
b.加入定时任务.直接vi
/etc/crontab
在最后一行加入如下语句
复制代码代码如下:
30
18
*
*
*
root
/var/www/html/back/bak.sh(脚本保存的位置)
这样每天下午6:30本地的centos机器自动会将远程FTP的文件备份到/var/www/html/back中了.

⑹ shell中ftp -in

-n禁止第一次连接的时候自动登陆,即不使用.netrc文件;
-i 在多个文件传输期间关闭交互提示,相当于FTP中prompt命令关闭;

整个FTP过程中所有的命令都从文件$FTPFILE中获取,并将过程追加记录到$LOGFILE中

⑺ unix下shell脚中ftp问题

不管是shell命令还是dos命令,在ftp里都是不管用的,在ftp下能执行的命令都是ftp内嵌的,如ls,在shell里你的ls可以列出目录下的文件列表,这个ls是一个可执行文件,一般是在/usr/bin下(也可能是其他目录)

ftp里也可以ls,但是ftp里的ls不是调用的shell里的那个ls,这是ftp里内嵌的,其实只是ftp中的一个函数


不同的ftp内置的命令可能有所差别,比如有的ftp有的支持dir命令,有的就不支持

具体支持哪些内命令一般通过help命令就能查到,如我的电脑上的:


至于你想通过ftp来实现删除文件的话可以通过telnet或者ssh等来实现,

在脚本里通过telnet或者ssh或得要删除的文件的列表,然后在ftp命令下删除

⑻ shell脚本的FTP程序有点看不懂,请教解释

1. -i表示关闭交互式登陆方式,就是就不问你什么帐号密码了
-n表示不使用.netrc自动登陆。.netrc是ftp的初始化文件
2. open 10.1.128.112 3839,这3839表示端口
3. 没错,是用户名密码
4. 这个应该错了在我这ftp下没这个命令,我这是centos 5.4
ftp> put FTPPerformanceTest/2.sh
local: FTPPerformanceTest/2.sh remote: FTPPerformanceTest/2.sh
local: FTPPerformanceTest/2.sh: No such file or directory
执行shell脚本也出错
local: FTPPerformanceTest/2.sh: No such file or directory
改成put $1 $2后正常
5. ftp2put 20Apt.txt 20最终反应到shell脚本中的命令就是put 20Apt.txt 20,即把20Apt.txt上传到ftp服务器并改名为20
6. sleep 1 表示休眠1秒对吧?,对的。

⑼ shell脚本中取ftp远程服务器文件的问题

ftp使用mget下载多个文件默认有提示,可以增加-i参数,表示不提示:

ftp-i-n<<!
...

一般如果在Windows下编辑的文件,传到linux环境下,文件内容里会因为回车换行表示方式不一样,会出现^M符号,可以在传到linux环境后,可以使用dos2unix等工具转换(该工具因linux版本不同可能并未默认安装)。另外,要注意所传文件是否是二进制还是一般文本文件,如果是二进制文件,最好在get前执行bin命令表示传输二进制文件。