我想将文件从本地开发环境(Win7,Eclipse,ANT)复制到远程Ubuntu服务器。 Ubuntu服务器默认锁定root,因此所有复制命令都需要sudo cp ...
。
有没有办法使用ANT轻松完成此操作?我没有看到使用SUDO的任何选项,但我是新手使用ANT。
答案 0 :(得分:1)
安装cygwin(cygwin.com)或mingw(mingw.org)并从那里使用scp / ssh。在那里设置授权要容易得多(你像往常一样在$ HOME / .ssh /中执行),这样你就不必在ant脚本中传递它。
答案 1 :(得分:1)
当您的本地开发环境在Windows上时,您可以使用Putty Client,一个免费的Windows Telnet / SSH客户端。只需使用命令行工具plink,pscp,.. Putty在Ant中提供并使用它们执行任务。
有关详细信息,请参阅Putty Documentation
plink => http://the.earth.li/~sgtatham/putty/0.58/htmldoc/Chapter7.html#plink
答案 2 :(得分:0)
答案 3 :(得分:0)
我同意用cygwin / mingw很容易做到这一点, 但如果你想在纯java中做所有事情,这里有一个exec sudo的例子, http://www.jcraft.com/jsch/examples/Sudo.java
答案 4 :(得分:0)
跟随蚂蚁任务怎么样?
<scp todir="{$username}:{$password}@{$host}:/tmp/x" sftp="true">
<fileset dir="."/>
</scp>
<sshexec host="{$host}" username="{$username}" password="{$password}"
trust="yes" command="sudo -S -p '' mv /tmp/x /root/x"
input="/tmp/input"/>
,其中“/ tmp / input”将包含“sudo”的密码。如果你使用ant-1.8.3, 你可能想使用“inputstring”属性。