Odošlite súbor na FTP pomocou jediného príkazu

Už sme videli, ako sa pripojiť k serveru FTP a pracovať s ním (alebo s jeho obsahom) cez terminál, to znamená bez použitia grafických aplikácií.

Tentokrát vám prinášam plus alebo extra ... dovoľte mi vysvetliť.

Pred niekoľkými rokmi som ich opustil bash skript používaný na vytváranie záloh (ukladá) údajov zo servera. Skript skopíroval sériu priečinkov (napríklad / etc /), exportoval databázy atď ... a skomprimoval ho pomocou hesla do súboru .RAR alebo .7z (momentálne používam 7z), jediné, čo skriptu chýbalo, bolo keď je možné tento komprimovaný súbor nahrať na nejaký server FTP, týmto spôsobom by sa uloženie zo servera skopírovalo na iné miesto.

V týchto dňoch som sa ujal skriptu, aby som ho trochu optimalizoval, vylepšil a samozrejme vyšla najavo potreba toho druhého, ktorý som vám spomenul, a nahral komprimovaný archív na externý FTP.

Ako nahrávať na FTP pomocou jediného príkazu?

Potreboval som jediný príkaz na pripojenie k FTP pomocou používateľského mena a hesla a dobre; nahrať súbor do konkrétneho priečinka.

Terminálové aplikácie, ktoré mi umožňujú pripojiť sa na FTP, vložiť meno používateľa a heslo a nahrať súbory, je ich veľa, ale ... čo mi umožňuje robiť to všetko v jednom riadku so všetkými už zadanými parametrami .... hej tu otázka.

Po preskúmaní 4 alebo 5 ... pomyslel som si si, hm !! ... ale existuje curl

Nahrajte na FTP pomocou zvlnenia

S curl dokážem nekonečné množstvo vecí, možno si môžem robiť čo chcem ... a to je všetko!

S parametrom -u môžem určiť používateľa a heslo, taktiež s parametrom -T mu môžem povedať, aby nahral súbor, a nakoniec mu povedať, do ktorého FTP a do ktorého priečinka ho chcem nahrať, na konci iba dajte celú cestu, viac menej takto:

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

Čo to urobí, je pripojenie k FTP 192.168.128.2 s používateľom užívateľ a heslo heslo a nahrajte do priečinka SERVER_BACKUPS zavolal súbor file-backup.7z

A pripravený!

Jednoduché nie? ...

To samozrejme môže byť užitočné aj pre nás samotný príkaz, najlepší spôsob jeho použitia je však pomocou skriptu, ako je ... ten, ktorý som už spomínal

A čo ten spomínaný scenár?

Vylepšujem skript, najmä začleňovaním niektorých požiadaviek alebo návrhov používateľov.

  • Prvá vec, ktorú som chcel urobiť, bolo práve toto, ktoré som vám práve vysvetlil, jediným príkazom, ktorý umožňoval nahrať ukladací súbor na FTP.
  • Ďalšia vec, ktorú mi používateľ odporučil, bolo poslať e-mail, keď bude zálohovanie pripravené, a preto ho môžem použiť poslať mail alebo externý skript, Najlepšie použijem sendmail. Podrobnosti o použití sendmailu spočívajú v tom, že na odoslanie e-mailu môžete použiť svoj účet GMail (alebo akýkoľvek iný) so šifrovaním ... SSL a čímkoľvek iným.
  • Užívateľ tiež odporučil, aby ako dynamickejšia forma upozornenia bola správa odosielaná pomocou IM pomocou XMPP od GTalk alebo Hotmail (Live alebo niečo podobné, ani neviem, ako sa to volá). Skúsim to najskôr s GTalkom, pretože pre Hotmail by som si musel niekde pamätať alebo sa podporovať, aby som si vytvoril účet Hotmail, pretože pri toľkých zmenách a zmenách, ktoré Microsoft má, vôbec netuším, aké to je.
  • Ďalším variantom druhého variantu by bolo použitie upozornení alebo správ odosielaných cez Facebook alebo Twitter. Môžete použiť Twitter Twidge zatiaľ čo pre Facebook by ste mohli použiť fbcmd. Obidve aplikácie mi umožňujú komunikovať s týmito sociálnymi sieťami z terminálu.
  • Tiež uvažujem o kontrole integrity sql, ktorý exportujem, ale toto si už vyžaduje trochu viac času :)

FTP servery

Koniec!

No, už netreba nič dodať ... v tejto chvíli využívam niekoľko svojich skriptov vytvorených v Bashi, aby som ich optimalizoval a vylepšil, dúfam, že nebude trvať príliš dlho, kým prinesiem novinky 😀

pozdravy


8 komentáre, nechajte svoj

Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.

  1.   barnarasta dijo

    Skvelý projekt,
    Budem to sledovať s veľkým záujmom.
    - Máte nejaké upozornenie @, ak je server nefunkčný alebo že dodávku nie je možné uskutočniť?

    Čítanie článkov od milovníkov terminálov / konzol je mimoriadne príjemné.

    1ahoj 2

    1.    KZKG ^ Gaara dijo

      Potešenie je moje 🙂

      Dobrý nápad, overiť si, či je server FTP online a ak nie, poslať e-mail ... Beriem to do úvahy ^ _ ^

  2.   Mojsej Serrano dijo

    Prispôsobil som váš záložný skript a prispôsobil projekt, ktorý vám umožní nahrať konečný súbor do Dropboxu (https://github.com/andreafabrizi/Dropbox-Uploader) a na konci odošlite e-mail pomocou sendmail.

  3.   lovec dijo

    Gaara, musíš na to vyskúšať správny nástroj: lftp

    Podporuje dokonca aj zrkadlenie, synchronizácia reposov z ftp je na nezaplatenie.

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

  4.   Jorge dijo

    Je veľmi zaujímavé, že je to krása tohto systému, že rovnaký výsledok môžete získať viacerými spôsobmi; Ukážem vám metódu, pri ktorej sa mi darilo nahrávať súbory na server ftp, je to trochu rustikálne, ale stále to funguje:

    {
    echo užívateľské heslo používateľa
    echo kôš
    echo výzva
    echo cd / adresár / z / servera / ftp
    echo dať súbor
    ozvena blízko
    echo ahoj
    } | ftp -n server.ftp

    1.    KZKG ^ Gaara dijo

      OOOHHH zaujímavé, nevedel som, čo sa dá tak urobiť 😀
      Ďakujeme!

  5.   Sephiroth dijo

    Iné spôsoby, napríklad s wput:

    wput file_to_upload ftp: // USER: PASS@123.123.123.123: 21

    alebo pre tých, ktorí uprednostňujú jednoduchosť skriptu pomocou starého telnetu:

    ftp -n server_ip << EOF
    užívateľ anonymný test@test.cu
    poslať FILE.txt
    výjazd
    EOF

  6.   xavier dijo

    Ahojte, som začiatočník v Linuxe a nepoznám výpočtovú techniku ​​- iba na používateľskej úrovni - ani programovanie, ani nič podobné, v tomto smere som prakticky neznalý. Čítal som tento článok a na konci druhého odseku som prečítal slovo „umiestnenie“; toto slovo je zneužité, mali ste na mysli: umiestnenie, umiestnenie, umiestnenie, miesto. Slovo umiestnenie znamená niečo iné, ako hovorí RAE „http://dle.rae.es/?id=NXeOXqS“.