【问题标题】:ftp file from server1 to server2 in unix在 unix 中从 server1 到 server2 的 ftp 文件
【发布时间】:2009-08-17 19:51:11
【问题描述】:

我是一个shell脚本菜鸟。

我目前有一个每 15 分钟运行一次的 cronjob,并检查文件是否存在。

如果存在,则获取文件并处理,然后将其删除

现在,我不想删除它,而是复制一份并将其 ftp 到 Server2

下面是删除脚本。我想修改它,以便它制作文件的副本,然后通过 ftps 将其传输到 server2

rm -f /apps/pmserver/data/inbound/WPER594_COMPANY.CSV.proc

【问题讨论】:

  • 只是检查,但您的意思是 ftps,还是放错撇号?

标签: unix ftp shell


【解决方案1】:

好吧,如果你对 ftp 没有死心,我实际上只会使用 scp。

scp /apps/pmserver/data/inbound/WPER594_COMPANY.CSV.proc username@server:/path/to/dest

【讨论】:

  • 查看此方法的预共享密钥。这是让密码远离命令行的好方法。
  • 是的,我应该澄清一下,我假设预共享密钥是为这种情况设置的。将您的公钥放入您要转移到的主机的 authorized_keys 中。
  • 这看起来很酷很简单。虽然我不担心在脚本中输入密码,因为我正在将文件从 prod 复制到 dev 服务器......但是我会有兴趣了解预共享密钥方法......任何信息如何实现这一点。 .. 正如我所说,我是 unix 中的菜鸟,感谢大家的及时回复
  • 一般来说你可以做一个 ssh-keygen,然后把你的公钥放到目的地 .ssh 文件夹中的 authorized_keys 文件中。见:sial.org/howto/openssh/publickey-auth
【解决方案2】:

我会使用 rsync:

THETIME=`date "+%Y-%m-%d_%H-%M-%S"`
rsync -avz -e ssh remoteuser@remotehost:/remote/dir/WPER594_COMPANY.$THETIME.CSV.proc /apps/pmserver/data/inbound/WPER594_COMPANY.CSV.proc
rm -f /apps/pmserver/data/inbound/WPER594_COMPANY.CSV.proc

【讨论】:

    【解决方案3】:

    查看 ncftpput 和 ncftp 包。它非常适合可编写脚本的 ftp。

    http://www.ncftp.com/

    【讨论】:

    • 我认为这不会满足他的 ssl 要求,对吗?
    【解决方案4】:

    您可以通过以下方式通过脚本执行FTP:

    ftp -n $serverName <<!
    verbose
    ascii
    quote user $username
    quote pass $password
    cd $targetdir
    put $filename
    quit
    !
    

    以上假设您已经在脚本的前面设置了以 $ 开头的变量。感叹号之间的内容需要根据您想要执行的操作进行更改 - 是 ascii 传输还是二进制传输等 - 但希望您明白这一点。

    【讨论】:

      【解决方案5】:

      我会说命令行腻子(或 PSFTP)将是要走的路。这是因为它通过 SSH 端口 22 打开一个隧道并使用常规的 FTP 协议控制。这将是最简单的。难点在于您必须编译源代码才能获得 PSFTP 二进制文件,但一旦您开展业务。

      http://the.earth.li/~sgtatham/putty/0.52/htmldoc/Chapter6.html

      它是 SCP 的替代品,但实际上 SCP 可能更容易,因为 linux 系统通常预装了它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-02-10
        • 2019-04-16
        相关资源
        最近更新 更多