我想自动化将Windows FTP位置的文件从Windows 7计算机复制到Unix框的过程。
我设法搜索了网络,并成功地使用SSH和PuTTY连接到Unix盒。
PuTTY的输入文件包含命令,但是它以密码停止,我找不到解决该问题的方法。
为此,我创建了一个批处理文件,因此可以在Windows 7计算机上安排Windows作业,每天开始将文件从Windows FTP服务器(不是我的其他Windows计算机)复制到Unix框中。
批处理文件:
putty -ssh lxdsdsp0 -l "user_1" -pw "mypass" -m "D:\cmd.txt" -t
我的cmd.txt
cd /x06/scratch-data/
ftp domain\[email protected]
mypass
/bin/bash
当我执行批处理文件时,它通过SSH登录到Unix框并键入命令,但是当我在PuTTYcmd.txt
文件中输入密码作为输入文件时,该命令将停止。
请帮忙。
Using username "user_1".
Welcome to SuSE Linux Enterprise Server 9 (x86_64)
Connected to domain\[email protected].
220 Microsoft FTP Service
331 Password required for domain\user_1.
Password:
530 User domain\user_1 cannot log in.
ftp: Login failed.
ftp>
的内容cmd.txt
由远程外壳逐行执行。不使用内容,就好像您在键盘上键入了这些命令一样。
因此,外壳程序执行ftp
并等待其退出,然后再继续执行该mypass
行(最终尝试执行该程序,但由于它不是可识别的外壳程序命令而失败)。
您可以做的是使用Plink而不是PuTTY。PuTTY软件包中用于自动化的工具中的Plink(不是PuTTY)。它是一个控制台应用程序。因此,您可以从中重定向其输入cmd.txt
。然后,将像在键盘上键入这些命令一样使用内容。
plink.exe -ssh lxdsdsp0 -l "user_1" -pw "mypass" -t < D:\cmd.txt
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句