使用一个命令将文件发送到FTP

我们已经了解了如何通过终端连接到FTP服务器并使用它(或其内容),即不使用图形应用程序。

这次我给您带来加分或增值...让我解释一下。

几年前我离开了他们 一个用于备份的bash脚本 (保存)来自服务器的数据。 该脚本复制了一系列文件夹(例如/ etc /),导出的数据库等...,并使用密码将其压缩为.RAR或.7z文件(我目前使用7z),该脚本唯一缺少的就是能够上传然后将该压缩文件传输到某个FTP服务器,这样服务器中的保存内容将被复制到另一个位置。

这些天来,我再次使用该脚本来对其进行一些优化,改进,并且很明显地发现了我向您提到的脚本的需要,将压缩的存档上传到外部FTP。

如何通过单个命令上传到FTP?

我需要的是通过一个命令来使用用户名和密码连接到FTP,很好; 将文件上传到特定文件夹。

允许我连接到FTP,输入用户名和密码并上传文件的终端应用程序很多,但是…允许我在一行中完成所有操作,并且已经指定了所有参数…。 嘿那里的问题。

经过4或5的审查之后…我以为是! ...但是它存在 卷曲

使用curl上传到FTP

有了curl,我可以做很多事情,也许我可以做我想做的……就是这样!

使用-u参数,我可以指定用户和密码,也可以使用-T参数,我告诉它上传文件,最后告诉它我要将文件上传到哪个FTP和哪个文件夹,最后我只是输入完整路径,或多或少都像这样:

curl -u usuario:password -T archivo-backup.7z ftp://192.168.128.2/SERVER_BACKUPS/

这是通过用户连接到FTP 192.168.128.2 用户 和密码 密码 并上传到文件夹 SERVER_BACKUPS 该文件称为 文件备份.7z

准备好了!

简单吧? ...

当然,这对我们以及单个命令都可能有用,但是,使用它的最佳方法是使用脚本,例如...我之前提到的脚本。

那提到的脚本呢?

我正在对脚本进行改进,特别是结合了用户的一些请求或建议。

  • 我想做的第一件事就是我刚刚向您解释的一个命令,该命令可以将保存文件上传到FTP。
  • 用户推荐我的另一件事是在备份准备好后发送电子邮件,为此我可以使用 发邮件外部脚本,我最好使用sendmail。 使用sendmail的细节是,您可以使用自己的GMail帐户(或任何其他帐户)发送加密,SSL和其他内容的电子邮件。
  • 另外,用户建议,作为一种更动态的通知形式,IM还可以使用GTalk的XMPP或Hotmail的消息发送消息(实时或类似的消息,我什至不知道它叫什么)。 我将首先尝试使用GTalk进行此操作,因为对于Hotmail,我将不得不在某个地方记住或支持自己才能创建Hotmail帐户,因为Microsoft拥有如此多的零钱,不知道它是什么样子。
  • 后者的另一个变体是使用Facebook或Twitter发送的通知或消息。 对于Twitter,您可以使用 特威奇 而对于Facebook,您可以使用 命令行。 这两个应用程序都允许我从终端与这些社交网络进行交互。
  • 我也在考虑检查导出的sql的完整性,但这已经需要更多时间了:)

FTP服务器

结束!

好吧,没有什么可添加的...目前,我正在使用Bash制作的一些脚本来优化和改进它们,我希望新闻发布不会花费太长时间take

问候


本文内容遵循我们的原则 编辑伦理。 要报告错误,请单击 信息.

8条评论,留下您的评论

发表您的评论

您的电子邮件地址将不会被发表。

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   巴纳拉斯塔

    很棒的项目
    我将非常感兴趣地关注它。
    -如果服务器已关闭或无法交付,是否有任何通知@?

    非常高兴阅读终端机/控制台爱好者的文章。

    1沙鲁2

    1.    KZKG ^ Gaara

      我的荣幸是🙂

      好主意,要验证FTP服务器是否在线,如果不是,请发送电子邮件...我将考虑到它^ _ ^

  2.   摩西·塞拉诺(Moses Serrano)

    我调整了备份脚本并调整了一个项目,使您可以将最终文件上传到Dropbox(https://github.com/andreafabrizi/Dropbox-Uploader),最后通过sendmail发送电子邮件。

  3.   猎人

    Gaara您必须为此尝试正确的工具:lftp

    它甚至支持镜像,从ftp同步存储库是无价的。

    http://www.cyberciti.biz/faq/lftp-mirror-example/

  4.   乔治

    非常有趣,这是该系统的优点,您可以通过多种方式获得相同的结果; 我向您展示了我设法将文件上传到ftp服务器的方法,虽然有点粗鲁,但仍然可以使用:

    {
    回显用户用户密码
    回声仓
    回声提示
    回显cd /目录/从/服务器/ ftp
    回声放置文件
    回声关闭
    再见
    } | ftp -n服务器.ftp

    1.    KZKG ^ Gaara

      OOOHHH有趣,我不知道该怎么办😀
      谢谢!

  5.   萨菲罗斯

    其他方式,例如与wput:

    写入file_to_upload ftp://用户:PASS@123.123.123.123:21

    或对于那些喜欢使用旧版telnet简化脚本的用户:

    ftp -n server_ip << EOF
    匿名用户 测试@test.cu
    发送FILE.txt
    出口
    EOF

  6.   泽维尔

    您好,我是Linux的初学者,我不了解计算机科学-仅在用户级别-或编程,或类似的东西,对此我几乎一无所知。 我正在阅读本文,并在第二段末尾读到“位置”一词; 这个词被误用了,您的意思是:位置,位置,位置,位置。 RAE会说“位置”一词意味着其他含义。