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

ftp调用shell

发布时间: 2022-09-01 16:43:01

① 如何在ftp命令中使用shell变量

就是感叹号! 进入ftp后ftp> help !! Escape to the shell 实际上,感叹号!会新建一个shell,要再回到ftp,敲exit命令退出这个新建的shell即可。

② shell连接ftp的脚本

区别在于排版不同
你使用<< FTPINI时, 下面的行都要在定格写,即行开头不能有空格,直至结束,如
ftp -i -n $ip << FTPINI
cd /pub
ls
FTPINI

而加了-后,下面的行可以加入tab排版,如
ftp -i -n $ip <<-FTPINI
cd /pub
ls
FTPINI

③ ftp命令放入shell不识别lcd命令

ftp在shell中必须使用这种格式,用重定向把ftp命令传给ftp:
#!/bin/bash
LANG=en_US
export LANG
cd /tmp/b
ftp -nv 192.168.0.104 << EOF
user senlin senlin
cd /senlin/upload
type binary
put a.txt
quit
EOF

另外一种办法就是使用 expect脚本 ,你到网上搜搜expect命令

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

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

ftp-i-n<<!
...

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

⑤ 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中了.

⑥ aix机器把ftp命令放到shell 里执行,lcd的时候提示文件夹不存在

ftp shell lcd不起作用解决方案

⑦ shell脚本中ftp问题

ftp 登录后,我感觉是不支持shell语法的(目前还不确定),建议使用mget 下载多个文件!

⑧ 求助:使用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命令,mget怎么取得动态文件

#!/usr/bin/sh

TZ=TZ+96
day1=`date+%Y%m%d`
TZ=TZ+72
day2=`date+%Y%m%d`
TZ=TZ+48
day3=`date+%Y%m%d`
TZ=TZ+24
day4=`date+%Y%m%d`
TZ=TZ
day5=`date+%Y%m%d`

SERVER=server
USERNAME=username
PASSWORD=password
ftp-n$SERVER<<EOF
user$USERNAME$PASSWORD
cdremote_path
lcdlocal_path
binary
verbose
get$day1.mat
get$day2.mat
get$day3.mat
get$day4.mat
get$day5.mat
close
quit
EOF