我想从远端机器上的多个日期目录中自动ftp文件,写了一个shell,但不能实现,问题是ftp连接中不能执行shell只能执行ftp中的命令,虽然不能那样写,但可以让大家明白我的意思帮我另出方法,谢谢
ftp -i -n host < ftp.txt
ftp.txt 内容
user user pass
hash
cd /data2/detail //此目录下有若干日期目录
for i in `ls -1`
do
cd $i
mget *
cd ..
done
bye
sw_yp 回复于:2003-09-25 23:02:52
是不是日期目录定时生成,有相应的格式。
请说明
iamjw 回复于:2003-09-26 11:25:44
日期目录不是自动生成的
远端机器/data2/detail 下内容
20030612/ 20030730/ 20030815/ 20030818/ 20030823/ 20030906/ 20030915/ 20030722/ 20030731/ 20030816/ 20030820/ 20030824/ 20030907/ 20030916/ ......
如果到一个一个目录中去mget,太累了
freshman 回复于:2003-09-26 14:46:39
有一个笨办法
for i in `ls -1`
do
echo "user user pass
hash
cd /data2/detail
cd $i
mget *
by" >; ftp.txt
ftp -i -n < ftp.txt
done
iamjw 回复于:2003-09-26 18:00:03
您的办法一点不笨,在您的启发下我修改了一下,但只能从远端机器上put到本地机器上
for i in `ls -1`
do
if [ -d $i ]
then
echo "user root root
hash
prompt off
cd /tmp/dic
mput * " >; ftp.txt
cd $i
ftp -i -n test < ../ftp.txt
cd ..
else
exit
fi
done
我还是想从本地机器上get,因为本地机器ftp是做了限制的只能get ,我的脚本是在另外的机器上测试的。
shw2000 回复于:2003-10-20 20:41:07
safsdg
大头虎 回复于:2003-11-14 20:03:52
可以现在本地机查询对方机器的目录,然后。。。
echo "user root root\nls\n"|ftp -i -n remotehost |grep "^d"|awk '{print $NF}>; file.list
awk
while read pathname
do
echo "user root root\ncd $pathname\nprompt\nmget *\n"|ftp -i -n remotehost
| 论坛热门帖子: | [lch203] 写得蛮好的linux学习笔记(10-21) [黑马制造] 学习java的30个目标(10-19) [笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19) [udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18) [沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18) |
| TAG标签: | 一个 搞定 帮忙 机器 目录 回复 echo ftp do 日期 本地 |
注册
个人空间
