一、创建文件
在当前用户的主目录创建一个.netrc文件,权限设置600
文件内容是:
machine 192.168.0.1 login ftpuser password ftpuser_password
说明:这样你每次登录192.168.0.1的时候,系统会自动登录,实现自动ftp。
举例:
每天8点到192.168.0.1上获取/test目录中的test.txt,可以创建一个命令行文件(ftp_cmd)。
内容如下:
cd test
get test.txt
bye
然后设置定时任务:
0 8 * * * ftp 192.168.0.1 < ftp_cmd
二、文件用法
FTP常用命令
1、default login password
如果需要频繁登录ftp,省去输入账号密码的繁琐流程。
2、binary
二进制文件需要使用二进制文件传输方式,如果使用ascii方式传输的文件则不可用。
3、runique
防止同名文件被覆盖的问题。
4、prompt off
使用ftp时,会用到mget或其它需要确认的ftp命令,将此确认过程取消,可大大方便使用者。
5、hash on
文件传输每传送1KB,在屏幕上显示一个#号,关注传输快慢。
6、idle 7200
避免线路拥塞导致ftp掉线,需要将idle参数设置最大7200秒
7、macdef
macdef定义一个宏,macro_name为宏定义的名称。在macdef行下,可输入任何有效的ftp命令,并以空行结束宏定义,执行时只需在宏名前加"$"号即可。如果宏名定义为init,则该宏命令在启动ftp后自动加以执行,无需用户输入$ macro_name。
互联网例子:
netrc的使用举例
1.用vi编辑器先编辑一个如下的文件:
default login anonymous password 123456
macdef init
binary .
runique .
hash on .
prompt off
idle 7200
(空行)
第1行意为缺省情况下,进入anonymous帐户,并以自己的电子邮件地址为口令;
第2行至第8行定义了宏init,该宏中的所有5条命令将在进入ftp环境后立刻执行,
第8行(空行)不可省略,否则为无效宏定义。
2.利用.netrc可将用户所需操作大大简化,极大地提高工作效率。
如利用archie命令查找到文件xplaygizmo-1.0.gz在匿名ftp主机上unsite.unc.e-du的/pub/packages/solaris/freeware目录下,
用户欲将该文件用ftp下载,只需用vi编辑器将archie的查找结果插入到.netrc文件空行之上,即增加下列三行:
cd /pub/packages/solaris/freeware
get xplaygizmo-1.0.gz
bye
(空行)
运行ftp sunsite.unc.edu,即自动完成上述.netrc 中的所有操作,无需任何人工干预。屏幕将显示类似于下面的结果:
Connected to sunsite.unc.edu.
220 calzone FTP server(Version wu-2.4(3Wed 0ct 2 09:30:40 EDT 1996)ready
331 Guest login ok,send your complete e-mail address as password.
230.............
230 Guest login ok,access resrictions apply.
200 Type set to I.
Receive unique on.
Hash mark printing on (1024 bytes/hash mark).
Interactive mode off.
200 Maximum IDLE time set to 7200 seconds
cd/pub/packages/solaris/freeware
250 CWD command successful.
get xplaygizmo-1.0.gz
200 PORT command successful.
150 Opening BINARY mode data connection for xplaygizmo-1.0.gz(8753 bytes). ########
226 Transfer complete.
8753 bytes received in 50.8 secs(0.17 Kbytes/sec)
221 Goodbye.
注意:默认时,运行ftp命令将检测用户的HOME目录中的.netrc文件,并自动加以执行,如果不想使用.netrc,可在ftp命令行中使用-n参数加以取消。