使用 ANT 通过 SCP 将文件复制到禁用 root 的 Ubuntu 服务器(需要 SUDO)

发布于 2024-11-17 00:47:13 字数 174 浏览 3 评论 0原文

我想将文件从本地开发环境(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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

浮华 2024-11-24 00:47:14

使用 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)

救星 2024-11-24 00:47:14

我同意使用 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

静谧 2024-11-24 00:47:14

执行 ant 任务怎么样?

<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”属性。

How about following ant tasks?

<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"/>

, where "/tmp/input" will include the password for "sudo". If you use ant-1.8.3,
you may want to use "inputstring" attribute.

暗恋未遂 2024-11-24 00:47:13

安装 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.

人疚 2024-11-24 00:47:13

当您的本地开发环境位于 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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文