使用 ANT 通过 SCP 将文件复制到禁用 root 的 Ubuntu 服务器(需要 SUDO)
我想将文件从本地开发环境(Win7、Eclipse、ANT)复制到远程 Ubuntu 服务器。 Ubuntu 服务器默认锁定 root,因此所有复制命令都需要 sudo cp ...
。
有没有办法使用 ANT 轻松完成此任务?我没有看到任何使用 SUDO 的选项,但我是使用 ANT 的新手。
I want to copy files from my local development environment (Win7, Eclipse, ANT) to a remote Ubuntu server. Ubuntu sever locks root by default, so all copy commands require sudo cp ...
.
Is there a way to use ANT to accomplish this easily? I don't see any options for using SUDO, but I'm new to using ANT.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
使用 SCP 任务 。这依赖于 jsch。我用它来将文件从 Windows 复制到 UNIX。它可能可以从unix复制到windows(如果windows运行ssh服务器)
Use SCP Task . This has dependency on jsch. I use this to copy files from windows to unix. It could probably copy from unix to windows (if windows is running ssh server)
我同意使用 cygwin/mingw 很容易做到这一点,
但是如果你想用纯java做所有事情,这里有一个执行sudo的例子,
http://www.jcraft.com/jsch/examples/Sudo.java
I agree that it will be easy to do it with cygwin/mingw,
but if you want to do everything in pure java, here is an example to exec sudo,
http://www.jcraft.com/jsch/examples/Sudo.java
执行 ant 任务怎么样?
,其中“/tmp/input”将包含“sudo”的密码。如果您使用ant-1.8.3,
您可能想使用“inputstring”属性。
How about following ant tasks?
, where "/tmp/input" will include the password for "sudo". If you use ant-1.8.3,
you may want to use "inputstring" attribute.
安装 cygwin (cygwin.com) 或 mingw (mingw.org) 并从那里使用 scp/ssh。在那里设置授权要容易得多(像往常一样在 $HOME/.ssh/ 中进行),这样您就不必在 ant 脚本中传递它。
Install cygwin (cygwin.com) or mingw (mingw.org) and use scp/ssh from there. It's far easier to setup authorization there (you do it in $HOME/.ssh/ as usual) so that you do not have to pass it in the ant script.
当您的本地开发环境位于 Windows 上时,您可以使用 Putty 客户端,一个免费的Windows Telnet / SSH客户端。只需使用Putty提供的命令行工具plink,pscp,..并在Ant exec任务中使用它们。
请参阅 Putty 文档了解更多详细信息
链接=> http://the.earth.li/~sgtatham/putty /0.58/htmldoc/Chapter7.html#plink
When your local develop environment is on Windows you may use the Putty Client, a free Telnet/SSH client for Windows.Simply use the commandline tools plink, pscp, .. that Putty provides and use them within the Ant exec task.
see Putty Documentation for further details
plink => http://the.earth.li/~sgtatham/putty/0.58/htmldoc/Chapter7.html#plink