这是在制作服务器虚拟主机自动备份脚本的时候遇到的一个小插曲。
原本想使用输入重定向简单实现 FTP 客户端自动登录的,因此制作了一个文本文件进行实验:
a.txt
| open www.某某.com aaa bbb ls exit |
其中,aaa 和 bbb 分别是 FTP 的用户名和密码。没想到在 ftp < a.txt 的时候,仍然让我输密码。看来输入密码的地方无法使用输入重定向来实现,得考虑另外的办法了。
翻阅 ftp 命令的在线帮助,发现它有 auto-login 功能。办法是在本用户(本例中是 root)的用户根目录(如本例中 root 用户就是 /root)下建立一个名为 .netrc 的文件,注意这个.可不能省。然后,在它里面存放一张 FTP 帐户列表,简单格式如:
| machine www.某某.com login aaa password bbb ……(可以多行) |
然后再直接 ftp www.某某.com,就会发现 ftp 客户端直接以 .netrc 中设定的 aaa 用户名和 bbb 密码进行登录了。当然,系统在使用这张自动登录列表的时候,会根据 FTP 站点的名称进行核对的。如果没有发现指定的站点名,那么也不会应用这个自动登录功能的。
没有评论:
发表评论