【问题标题】:How do I create a script that will use FTP to copy a file to another server?如何创建将使用 FTP 将文件复制到另一台服务器的脚本?
【发布时间】:2016-11-04 14:29:40
【问题描述】:

我是一名网络工程师学徒,我被设置了一项任务,该任务将从服务器目录复制文件并使用 FTP 将其复制到另一个位置。基本上这些是我将采取的步骤:

  1. 登录 NMS(Linux Box)
  2. 将目录更改为 /usr/lib/rancid/bin/clogin
  3. 须藤酸败
  4. clogin(SVC 的 IP 地址)
  5. 将目录更改为磁盘:/ftp/reports/rogueaps
  6. 使用 FTP 将上次创建的文件复制到(IP 地址)

如您所知,我对此很陌生,只有大约 2 个月的网络经验,对编码和脚本知之甚少。不急于创建这个,时间在我这边。

此脚本需要每天运行一次。我不希望任何人为我创建脚本,但我将不胜感激。我还可以使用我选择的任何语言,我认为 Python 会很好学。

谢谢

【问题讨论】:

  • 我不是系统管理员,但我会选择使用 cron 计时的 bash 脚本。我喜欢 Python,但对于这种类型的工作,我认为大多数系统管理员会使用 Perl,我不太了解 Perl,我只是用它做了一些迁移工作,比如修复一些旧的 repos 并将它们放回源代码控制。

标签: python bash networking ssh ftp


【解决方案1】:

一般来说,您应该尽量避免使用 FTP。如果您可以 scp 到远程主机,那当然更好。

如果你需要坚持使用 ftp,并且如果你有 lftp 作为可用的客户端,你可能会这样做:

#!/bin/bash
nwd=/ftp/reports/rogueaps
user=rancid
passwd=VeRySecR3t
host=ip_of_SVC

cd /usr/lib/rancid/bin/clogin
lftp -u $user,$passwd $host <<EOF
cd $nwd
put $f
EOF

并将其放在用户 rancid 的 crontab 中。

这当然只是一个指向你可以做什么的指针。通常,将密码直接放在脚本中是个坏主意。如果您有勇气,可以尝试从脚本中的 .cloginrc 获取 uid/密码。

如果这不是您要寻找的,您应该考虑一下。 Clogin 基本上是一个执行一些登录的期望脚本。

【讨论】:

    猜你喜欢
    • 2018-07-08
    • 1970-01-01
    • 1970-01-01
    • 2014-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-06
    • 2016-02-02
    相关资源
    最近更新 更多