请教ftp自动传文件的脚本

王朝other·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

$ vi ftpauto

#! /bin/sh

echo "machine $1 login truge password 1234">/usr/truge/job/.netrc

chmod 770 /usr/truge/job/.netrc

ftp $1 << EOF

bin

cd /usr/tmp

prompt

mput *

EOF

rm /usr/truge/job/.netrc

这是书上的例子,我稍微改了一下,但是不能用(scounix505),请各位指点。

试一试这个:

#cat ftpauto.sh

#!/bin/sh

ftp -n<<!

open 10.10.10.10

user USERNAME PASSWD

binary

prompt off

cd /yourpath

mput *.Z

mget *.tar

close

bye

!

将这个脚本加入crontab中即可实现定时ftp自动传输

谢谢feeling的热心帮助。It does work.

能帮忙解释一下吗?

[这个贴子最后由valentine在 2002/04/26 10:03am 编辑]

用.netrc应该chmod 400 .netrc(属主只读),否则不能工作,这样安全性高一些。

把密码,用户名写到脚本里也可以。

ftp -i -n<<!!

....

...

!!

也可以.

ftp -n<<!

请教这句话的意思。-n的含义,<<的含义,和!的含义。

--------------------------------------------------------------------------------

#!/bin/sh

ftp -n<<!

open 10.10.10.10

user USERNAME PASSWD

binary

prompt off

cd /yourpath

mput *.Z

mget *.tar

close

bye

!

--------------------------------------------------------------------------------

这个脚本中的 USERNAME PASSWD 要用真实的用户名和密码代替吗?

$HOME/.netrc 文件中加入了用户名和密码的话,脚本中的用户名和密码还需要吗?

1。当然是真实的密码。

2。二者可则其一。

如果我不想再脚本中输入用户和密码,那脚本中的

user USERNAME PASSWD 这一行应该怎么写?

when you put the username and passwd to .netrc file, ftp command will automatically use the username to login .

好像不能加参数 -n, ftp ip <<! 就好了

那怎么把自动上传的文件名后面加上日期呢?

[这个贴子最后由shuweich在 2002/06/06 05:21pm 编辑]

楼上所问,我来回复:

ftp -n<<!

请教这句话的意思。-n的含义,<<的含义,和!的含义。

-n 不受.netrc文件的影响(ftp默认为读取.netrc文件中的设定)

<< 是使用即时文件重定向输入,

!是即时文件的标志它必须成对出现,以标识即时文件的开始和结尾。(你也可以不用“!”,比如使用一对“INPUT_TEXT”也是可以的)

即时文件是UNIX输入重定向的一种技术,本来输入重定向要求从文件中读取内容,但即时文件可以把程序所需输入内容的内容直接写出来,就是你在上面例子中看到的那样。

其实你所要求的自动FTP脚本还可以写成如下的形式:

(echo "user username password"

echo "hash"

echo "bin"

echo "prompt"

echo "mget *.tar"

echo "quit")|ftp -n 202.100.101.102

## 其中:

hash: 传文件时同时回显每 1024 或 2048 Bytes 一个“#”字

prompt: 多文件传输不应答

请问.netric文件在那个目录下?

若是改成telnet,自动登录到一主机上做某项工作,是否和ftp一样那?

请问在windows98下怎么实现文件自动传文件(怎么用c编写一个小程序)

还不是和前面一样,写成批处理文件即可。不需要用C来完成

将所有ftp指令写到一个文件中(如ftp.cmd)

open ipaddress

user username password

get filename

by

在批处理文件中(如ftpfile.bat)加入如下指令

ftp -n < ftp.cmd

即可

用户的当前根目录下,属主最好600

在你做事情的帐号的家目录里,如root的在"/"下.

我在unix环境下写了

ftp -n<<!

open 10.10.10.2

user username password

.....

bye

!

他老是要我输入password

请问是怎么一回事

user <username> <password>处要填写实际的用户名和密码,老是要你输入password是因为你的密码写的不对

passwd为空(回车),user username password 这一句该如何写?

我 的 密码 当然是 正确的 ,不过是 空密码

ftp的密码是不允许为空的。

请问.netric的内容是什么?

如果对方帐号没有密码怎么写???

那你执行时可就要多敲一个回车了

我稍微改一下:

#!/usr/bin/sh

if [ $# -lt 7 ]

then

echo "Usage : AutoFtp ip user passwd mode[binary/ascii] directory method[mput/mget] filname"

exit

fi

ftp -n<<!

open $1

user $2 $3

$4

prompt off

cd $5

$6 $7

close

bye

!

各位大虾,请问telnet 到某台机器是否可以编写自动登陆的脚本?不用每次都敲入密码和账号?

请问:.netrc是怎么个样子,我的机器上怎么没有呀?

我刚才编了一个.netrc文件,vi .netrc

root passwd

可是ftp不是用呀,还是要用密码的。

到底怎么设置?

在$HOME目录下

machine liantong login CCB passwd 123456

machine zilaishui login anonymous passwd nothing

machine shcxqt login cxqt passwd qwe456

machine cxqt login cxqt passwd asd123

这个样的.

在$HOME目录下

-=-=-=-=-=>

是在ftp的$home 还是要ftp用户的$home目录下啊 ??

这个传递的变量也太多乐吧?而且弄得好像都不能用.netrc乐

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航