Отправить файл на FTP с помощью одной команды

Мы уже видели, как подключиться к FTP-серверу и работать с ним (или с его содержимым) через терминал, то есть без использования графических приложений.

На этот раз я предлагаю вам плюс или минус ... позвольте мне объяснить.

Несколько лет назад я оставил их сценарий bash, используемый для создания резервных копий (сохраняет) данные с сервера. Скрипт скопировал серию папок (например, / etc /), экспортированных баз данных и т. Д. И сжал их с паролем в файл .RAR или .7z (в настоящее время я использую 7z), единственное, чего не хватало скрипту, - это возможность загрузки после этого сжатый файл на какой-нибудь FTP-сервер, таким образом, сохранение с сервера будет скопировано в другое место.

В эти дни я снова взялся за сценарий, чтобы немного оптимизировать его, улучшить, и, очевидно, необходимость последнего, о которой я говорил вам, обнаружилась при загрузке сжатого архива на внешний FTP.

Как загрузить на FTP с помощью одной команды?

Мне нужно было с помощью одной команды подключиться к FTP с именем пользователя и паролем, и хорошо; загрузите файл в определенную папку.

Терминальные приложения, которые позволяют мне подключаться к FTP, вводить пользователя и пароль и загружать файлы, их много, но… которые позволяют мне делать все это в одной строке, со всеми уже указанными параметрами…. привет, вопрос.

Пересмотрев 4 или 5… подумал, ага !! ... но он существует виться

Загрузить на FTP с помощью curl

С curl я могу делать бесконечное количество вещей, может быть, я могу делать то, что хочу ... и все!

С параметром -u я могу указать пользователя и пароль, а также с параметром -T я могу сказать ему, что нужно загрузить файл, и, наконец, сообщить ему, на какой FTP и в какую папку я хочу его загрузить, в конце я просто поместите полный путь примерно так:

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

Он подключается к FTP 192.168.128.2 с пользователем пользователь и пароль password и загрузите в папку СЕРВЕР_РЕЗЕРВНЫЕ КОПИИ файл называется файл-backup.7z

И готово!

Все просто, правда? ...

Конечно, это может быть полезно для нас, как и сама команда, однако лучше всего использовать ее с помощью скрипта, такого как ... тот, который я упоминал ранее

А что насчет упомянутого сценария?

Я делаю улучшения в скрипте, особенно в том числе с учетом некоторых запросов или предложений пользователей.

  • Первое, что я хотел сделать, это именно то, что я вам только что объяснил, с помощью одной команды, чтобы иметь возможность загрузить файл сохранения на FTP.
  • Еще один пользователь рекомендовал мне отправить электронное письмо, когда резервная копия будет готова, для этого я могу использовать Отправить письмо o un внешний скрипт, Я предпочитаю использовать sendmail. Деталь использования sendmail заключается в том, что вы можете использовать свою учетную запись GMail (или любую другую) для отправки электронной почты с шифрованием ... SSL и так далее.
  • Кроме того, пользователь рекомендовал, чтобы в качестве более динамичной формы уведомления сообщение отправлялось через IM с использованием XMPP GTalk или Hotmail (Live или что-то в этом роде, я даже не знаю, как это называется). Сначала я попытаюсь сделать это с помощью GTalk, потому что для Hotmail мне нужно было бы где-то вспомнить или поддержать себя, чтобы создать учетную запись Hotmail, потому что с таким большим количеством изменений-изменений, которые есть у Microsoft, я не знаю, на что это похоже.
  • Другой вариант последнего - использовать уведомления или сообщения, которые отправляются через Facebook или Twitter. Для Twitter вы можете использовать Твидж в то время как для Facebook вы можете использовать fbcmd. Оба приложения позволяют мне взаимодействовать с этими социальными сетями с терминала.
  • Я также подумываю проверить целостность экспортируемого sql, но для этого уже требуется немного больше времени :)

FTP-сервер

Конец!

Что ж, больше нечего добавить ... на данный момент я беру несколько своих скриптов, сделанных в Bash, для их оптимизации и улучшения, надеюсь, что новости появятся не слишком долго 😀

привет


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

  1.   Barnarasta сказал

    Отличный проект,
    Я буду следить за этим с большим интересом.
    - Любое уведомление @, если сервер не работает или доставка не может быть произведена?

    Чрезвычайно приятно читать статьи от любителей терминалов / консолей.

    1салу2

    1.    КЗКГ ^ Гаара сказал

      Удовольствие мое

      Хорошая идея, проверить, подключен ли FTP-сервер, а если нет, отправить электронное письмо ... Я учту это ^ _ ^

  2.   Моисей Серрано сказал

    Я адаптировал ваш сценарий резервного копирования и адаптировал проект, который позволяет вам загрузить окончательный файл в Dropbox (https://github.com/andreafabrizi/Dropbox-Uploader) и в конце отправьте электронное письмо с помощью sendmail.

  3.   Данхантер сказал

    Гаара, вы должны попробовать правильный инструмент для этого: lftp

    Он даже поддерживает зеркалирование, синхронизация репозиториев с ftp бесценна.

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

  4.   Хорхе сказал

    Очень интересно, в этом прелесть этой системы: вы можете получить один и тот же результат несколькими способами; Я покажу вам метод, с помощью которого мне удавалось загружать файлы на ftp-сервер, он немного простоват, но все еще работает:

    {
    эхо пароль пользователя пользователя
    эхо бункер
    эхо-подсказка
    echo cd / каталог / из / сервера / ftp
    echo put файл
    эхо близко
    эхо пока
    } | ftp -n server.ftp

    1.    КЗКГ ^ Гаара сказал

      ОООХХХ интересно, я не знала, что можно так сделать
      Спасибо!

  5.   Сефирот сказал

    Другие способы, например с wput:

    wput file_to_upload ftp: // ПОЛЬЗОВАТЕЛЬ: PASS@123.123.123.123: 21

    или для тех, кто предпочитает простоту сценария с использованием старого Telnet:

    ftp -n server_ip << EOF
    анонимный пользователь test@test.cu
    отправить FILE.txt
    выход
    EOF

  6.   Ксавье сказал

    Здравствуйте, я новичок в Linux и не разбираюсь в вычислениях - только на уровне пользователя - или в программировании или в чем-то подобном, я практически не знаю об этом. Я читал эту статью и прочитал в конце второго абзаца слово «местоположение»; это слово неправильно употреблено, вы имели в виду: местоположение, местоположение, местоположение, место. Слово «местоположение» означает нечто иное, поскольку RAE говорит «http://dle.rae.es/?id=NXeOXqS».