Magpadala ng isang file sa isang FTP na may isang solong utos

Nakita na namin kung paano kumonekta sa isang FTP server at gumana kasama nito (o ang nilalaman nito) sa pamamagitan ng terminal, iyon ay, nang hindi gumagamit ng mga graphic application.

Sa pagkakataong ito ay magdadala ako sa iyo ng isang plus o isang labis ... hayaan mong ipaliwanag ko.

Ilang taon na ang nakakaraan iniwan ko sila isang bash script na ginamit upang gumawa ng mga backup (nai-save) ng data mula sa isang server. Kinopya ng script ang isang serye ng mga folder (tulad ng / etc /), na-export na mga database, atbp ... at na-compress ito gamit ang isang password sa isang .RAR o .7z file (Kasalukuyang gumagamit ako ng 7z), ang tanging bagay na kulang sa script ay nakakapag-upload pagkatapos ng naka-compress na file sa ilang FTP server, sa ganitong paraan ang pag-save mula sa server ay makopya sa ibang lokasyon.

Sa mga araw na ito kinuha ko ang script upang ma-optimize ito nang kaunti, pagbutihin ito at malinaw na ang pangangailangan para sa huli na nabanggit ko sa iyo ay napunta sa ilaw, na ina-upload ang naka-compress na archive sa isang panlabas na FTP.

Paano mag-upload sa isang FTP na may isang solong utos?

Ang kailangan ko ay sa pamamagitan ng isang solong utos upang kumonekta sa isang FTP na may username at password, at maayos; i-upload ang file sa isang tukoy na folder.

Ang mga application ng terminal na pinapayagan akong kumonekta sa isang FTP, ilagay ang user at password at mag-upload ng mga file maraming mga ito, ngunit ... pinapayagan akong gawin ito lahat sa isang linya, kasama ang lahat ng mga parameter na tinukoy na…. hoy ang tanong.

Matapos suriin ang 4 o 5… Akala ko, huh !! ... ngunit mayroon ito kulutan

Mag-upload sa isang FTP na may kulot

Sa curl magagawa ko ang isang walang katapusang bilang ng mga bagay, marahil ay magagawa ko ang nais ko ... at iyon na!

Sa parameter na -u maaari kong tukuyin ang gumagamit at password, kasama din ang parameter na -T maaari ko itong sabihin na mag-upload ng isang file, at sa wakas upang sabihin ito sa aling FTP at aling folder ang nais kong i-upload ito, sa dulo ko lang ilagay ang buong landas, higit pa o mas kaunti tulad nito:

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

Ang ginagawa nito ay kumonekta sa FTP 192.168.128.2, kasama ang gumagamit gumagamit at password password at i-upload sa folder SERVER_BACKUPS tumawag ang file file-backup.7z

At handa na!

Simple di ba? ...

Siyempre, maaari itong maging kapaki-pakinabang sa amin pati na rin ang utos na nag-iisa, gayunpaman, ang pinakamahusay na paraan upang magamit ito ay sa isang script tulad ng ... ang isa na nabanggit ko dati

At paano ang script na iyon na nabanggit?

Gumagawa ako ng mga pagpapabuti sa script, lalo na ang pagsasama ng ilang mga kahilingan o mungkahi mula sa mga gumagamit.

  • Ang unang bagay na nais kong gawin ay tiyak na ito na ipinaliwanag ko lang sa iyo, na may isang solong utos upang mai-upload ang save na file sa isang FTP.
  • Ang iba pang bagay na inirekomenda sa akin ng isang gumagamit ay upang magpadala ng isang email kapag handa na ang backup, na magagamit ko sendmail o isang panlabas na script, Mas gugustuhin kong gumamit ng sendmail. Ang detalye ng paggamit ng sendmail ay maaari mong gamitin ang iyong GMail account (o anumang iba pa) upang maipadala ang email, na may naka-encrypt ... SSL at kung ano pa man.
  • Gayundin, inirekomenda din ng isang gumagamit na, bilang isang mas pabagu-bagong anyo ng abiso, isang mensahe na ipapadala ng IM gamit ang GTPP's XMPP o Hotmail's (Live o isang bagay na tulad nito, hindi ko alam kung ano ang tawag dito). Susubukan kong gawin ito sa GTalk muna, dahil para sa Hotmail kakailanganin kong alalahanin o suportahan ang aking sarili sa isang lugar upang lumikha ng isang Hotmail account, dahil sa sobrang pagbabago-pagbabago na mayroon ang Microsoft, walang ideya kung ano ito.
  • Ang isa pang pagkakaiba-iba sa huli ay ang paggamit ng mga abiso o mensahe na ipinadala ng Facebook o Twitter. Para sa Twitter maaari mong gamitin Twidge habang para sa Facebook maaari mong gamitin fbcmd. Pinapayagan ako ng parehong mga application na makipag-ugnay sa mga social network na ito mula sa terminal.
  • Iniisip ko ring suriin ang integridad ng sql na aking na-export, ngunit nangangailangan na ito ng kaunting oras :)

ftp server

Wakas!

Sa gayon, wala nang iba pang maidaragdag ... sa ngayon, kumukuha ako ng ilan sa aking mga script na ginawa sa Bash upang ma-optimize at mapabuti ang mga ito, inaasahan kong hindi ito magtatagal upang magdala ng balita 😀

Regards


Ang nilalaman ng artikulo ay sumusunod sa aming mga prinsipyo ng etika ng editoryal. Upang mag-ulat ng isang pag-click sa error dito.

8 na puna, iwan mo na ang iyo

Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.

  1.   barnarasta dijo

    Mahusay na proyekto,
    Susundan ko ito ng may malaking interes.
    - Anumang abiso @ kung ang server ay down o ang paghahatid ay hindi maaaring gawin?

    Labis na kasiya-siya na basahin ang mga artikulo mula sa mga mahilig sa terminal / console.

    1salu2

    1.    KZKG ^ Gaara dijo

      Akin ang kasiyahan 🙂

      Magandang ideya, upang mapatunayan kung ang FTP server ay online at kung hindi, upang magpadala ng isang email ... Isasaalang-alang ko ito ^ _ ^

  2.   Moises Serrano dijo

    Inangkop ko ang iyong backup script at inangkop ang isang proyekto na nagbibigay-daan sa iyong i-upload ang pangwakas na file sa Dropbox (https://github.com/andreafabrizi/Dropbox-Uploader) at magpadala ng isang email sa dulo sa pamamagitan ng sendmail.

  3.   dhunter dijo

    Gaara kailangan mong subukan ang tamang tool para dito: lftp

    Sinusuportahan din nito ang pag-mirror, upang mai-sync ang mga repos mula sa ftp ay hindi mabibili ng salapi.

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

  4.   Jorge dijo

    Tunay na kagiliw-giliw, ito ay ang kagandahan ng sistemang ito, maaari kang makakuha ng parehong resulta sa maraming paraan; Ipinapakita ko sa iyo ang pamamaraan kung saan pinamamahalaan ko ang pag-upload ng mga file sa isang ftp server, medyo maliit ngunit gumagana pa rin ito:

    {
    password ng gumagamit ng echo
    basurahan
    agarang echo
    echo cd / direktoryo / mula sa / server / ftp
    file ng echo put
    echo close
    echo bye
    } | ftp -n server.ftp

    1.    KZKG ^ Gaara dijo

      OOOHHH nakakainteres, hindi ko alam kung anong magagawa ganyan 😀
      Salamat sa iyo!

  5.   Sephiroth dijo

    Iba pang mga paraan, halimbawa kasama ang wput:

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

    o para sa mga mas gusto ang pagiging simple sa isang script gamit ang lumang telnet:

    ftp -n server_ip << EOF
    hindi nagpapakilala ang gumagamit test@test.cu
    ipadala ang FILE.txt
    lumabas
    EOF

  6.   Xavier dijo

    Kumusta, ako ay isang nagsisimula sa Linux at hindi ko alam ang computer science - sa antas lamang ng gumagamit - o pagprograma, o anumang katulad nito, halos hindi ako alam tungkol dito. Binabasa ko ang artikulong ito at nabasa ko sa dulo ng ikalawang talata ang salitang "lokasyon"; maling ginamit ang salitang iyon, nilalayon mo: lokasyon, lokasyon, lokasyon, lugar. Ang salitang lokasyon ay nangangahulugang ibang bagay tulad ng sinabi ng RAE na "http://dle.rae.es/?id=NXeOXqS".