Изпратете файл до FTP с една команда

Вече видяхме как да се свържем с FTP сървър и да работим с него (или със съдържанието му) през терминала, тоест без да използваме графични приложения.

Този път ви нося плюс или допълнително ... позволете ми да обясня.

Преди няколко години ги оставих bash скрипт, който се използва за създаване на резервни копия (запазва) данни от сървър. Скриптът копира поредица от папки (като / etc /), експортира бази данни и т.н. ... и го компресира с парола в .RAR или .7z файл (в момента използвам 7z), единственото нещо, което липсваше на скрипта, беше да може да качи след този компресиран файл на някакъв FTP сървър, по този начин записът от сървъра ще бъде копиран на друго място.

Тези дни се заех със скрипта, за да го оптимизирам малко, да го подобря и очевидно се появи нуждата от последното нещо, което ви споменах, качвайки компресирания архив на външен FTP.

Как да кача на FTP с една команда?

Това, от което се нуждаех, беше чрез една команда да се свържа с FTP с потребителско име и парола и добре; качете файла в определена папка.

Терминални приложения, които ми позволяват да се свържа с FTP, да поставя потребител и парола и да качвам файлове, има много, но ... които ми позволяват да правя всичко това в един ред, с всички вече зададени параметри .... там въпросът.

След преглед на 4 или 5 ... помислих си, а !! ... но съществува Curl

Качете на FTP с къдрене

С къдрици мога да правя безкраен брой неща, може би мога да правя това, което искам ... и това е!

С параметъра -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 и каквото и да било.
  • Също така, потребител препоръча също като по-динамична форма на уведомяване да се изпрати съобщение от незабавно съобщение, използвайки XMPP или Hotmail на GTalk (На живо или нещо подобно, дори не знам как се нарича). Първо ще се опитам да го направя с GTalk, защото за Hotmail би трябвало да си спомня или да се поддържам някъде, за да създам акаунт в Hotmail, тъй като с толкова много промени в промяната, които Microsoft има, нямам представа как е.
  • Друг вариант на последното би бил използването на известия или съобщения, изпратени от Facebook или Twitter. За Twitter можете да използвате Туидж докато за Facebook можете да използвате fbcmd. И двете приложения ми позволяват да взаимодействам с тези социални мрежи от терминала.
  • Също така мисля да проверя целостта на sql, който експортирам, но това вече изисква малко повече време :)

FTP сървър

Край!

Е, няма какво повече да добавя ... за момента се занимавам с няколко от моите скриптове, направени в Bash, за да ги оптимизирам и подобря, надявам се да не отнеме твърде много време, за да донеса новини

поздрави


Съдържанието на статията се придържа към нашите принципи на редакторска етика. За да съобщите за грешка, щракнете върху тук.

8 коментара, оставете своя

Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

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

  1.   барнараста каза той

    Страхотен проект,
    Ще го следя с голям интерес.
    - Всяко известие @, ако сървърът не работи или доставката не може да бъде извършена?

    Невероятно приятно е да четете статии от любителите на терминали / конзоли.

    1 здравей2

    1.    KZKG ^ Гаара каза той

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

      Добра идея, за да проверите дали FTP сървърът е онлайн и ако не е, да изпратите имейл ... Ще го взема предвид ^ _ ^

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

    Бях адаптирал вашия скрипт за архивиране и адаптирах проект, който ви позволява да качите окончателния файл в Dropbox (https://github.com/andreafabrizi/Dropbox-Uploader) и изпратете имейл в края чрез sendmail.

  3.   dhunter каза той

    Gaara трябва да изпробваш правилния инструмент за това: lftp

    Той дори поддържа огледално отразяване, за да синхронизирате репозитории от ftp е безценно.

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

  4.   Хорхе каза той

    Много интересно, това е красотата на тази система, можете да получите един и същ резултат по множество начини; Показвам ви метода, при който успях да кача файлове на ftp сървър, той е малко селски, но все пак работи:

    {
    echo потребителска потребителска парола
    ехо кош
    ехо ред
    echo cd / directory / from / server / ftp
    echo put file
    ехо отблизо
    ехо чао
    } | ftp -n server.ftp

    1.    KZKG ^ Гаара каза той

      OOOHHH интересно, не знаех какво може да се направи така 😀
      Благодаря ви!

  5.   Sephiroth каза той

    Други начини, например с 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".