2006年8月24日星期四

Linux上FTP客户端实现自动登录

  这是在制作服务器虚拟主机自动备份脚本的时候遇到的一个小插曲。

  原本想使用输入重定向简单实现FTP客户端自动登录的,因此制作了一个文本文件进行实验:

a.txt

open www.xxxx.com
aaa
bbb
ls
exit

  其中,aaa和bbb分别是FTP的用户名和密码。没想到在ftp < a.txt的时候,仍然让我输密码。看来输入密码的地方无法使用输入重定向来实现,得考虑另外的办法了。

  翻阅ftp命令的在线帮助,发现它有auto-login功能。办法是在本用户(本例中是root)的用户根目录(如本例中root用户就是/root)下建立一个名为.netrc的文件,注意这个.可不能省。然后,在它里面存放一张FTP帐户列表,简单格式如:

machine www.xxxx.com login aaa password bbb
……(可以多行)

  然后再直接ftp www.xxxx.com,就会发现ftp客户端直接以.netrc中设定的aaa用户名和bbb密码进行登录了。当然,系统在使用这张自动登录列表的时候,会根据FTP站点的名称进行核对的。如果没有发现指定的站点名,那么也不会应用这个自动登录功能的。

没有评论:

发表评论