Pošaljite datoteku na FTP jednom naredbom

Već smo vidjeli kako se povezati s FTP serverom i raditi s njim (ili njegovim sadržajem) putem terminala, odnosno bez upotrebe grafičkih aplikacija.

Ovaj put vam donosim plus ili dodatak ... dopustite mi da objasnim.

Prije nekoliko godina sam ih napustio bash skripta koja se koristi za izradu sigurnosnih kopija (sprema) podatke s poslužitelja. Skripta je kopirala niz mapa (poput / etc /), izvezla baze podataka itd ... i komprimirala je lozinkom u .RAR ili .7z datoteku (trenutno koristim 7z), jedino što skripti nedostaje je mogućnost učitavanja nakon te komprimirane datoteke na neki FTP server, na taj način spremanje sa poslužitelja bi se kopiralo na drugo mjesto.

Ovih dana uzeo sam skriptu kako bih je malo optimizirao, poboljšao i očito je izašla na vidjelo potreba za posljednjim što sam vam spomenuo, prenoseći komprimiranu arhivu na vanjski FTP.

Kako učitati na FTP jednom naredbom?

Ono što mi je trebalo bilo je putem jedne naredbe da se povežem na FTP s korisničkim imenom i lozinkom, i to dobro; prenesite datoteku u određenu mapu.

Terminalnih aplikacija koje mi omogućuju povezivanje s FTP-om, stavljanje korisnika i lozinke i prijenos datoteka ima puno, ali ... koje mi omogućavaju da sve to napravim u jednom retku, sa svim parametrima koji su već navedeni .... tu je pitanje.

Nakon pregleda 4 ili 5 ... pomislio sam, ha !! ... ali postoji curl

Otpremite na FTP sa uvijanjem

S uvijanjem mogu raditi beskonačno mnogo stvari, možda mogu raditi što želim ... i to je to!

Pomoću parametra -u mogu odrediti korisnika i lozinku, takođe pomoću parametra -T mogu mu reći da prenese datoteku i na kraju da joj kažem na koji FTP i u koju mapu želim da je prenesem, na kraju samo stavim punu putanju, manje-više ovako :

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

Ovo se povezuje s FTP 192.168.128.2, s korisnikom korisnik i lozinku lozinka i otpremite u mapu SERVER_BACKUPS datoteka koja se zove sigurnosna kopija datoteke.7z

I spremno!

Jednostavno zar ne? ...

Naravno, ovo može biti korisno i nama samoj naredbi, međutim, najbolji način da ga koristimo je sa skriptom poput ... one koju sam prije spomenuo

A šta je sa onom skriptom koja se spominje?

Poboljšavam skriptu, posebno ugrađujući neke zahtjeve ili prijedloge korisnika.

  • Prvo što sam želio učiniti bilo je upravo ovo što sam vam upravo objasnio, jednom naredbom kako bih mogao prenijeti datoteku spremanja na FTP.
  • Druga stvar koju mi ​​je korisnik preporučio je da pošaljem e-mail kada sigurnosna kopija bude spremna, da bih je mogao koristiti sendmail ili a vanjska skripta, Po mogućnosti ću koristiti sendmail. Detalji upotrebe sendmaila su da možete koristiti svoj GMail račun (ili bilo koji drugi) za slanje e-pošte, uz šifriranje ... SSL i bilo što drugo.
  • Takođe, korisnik je preporučio da se, kao dinamičniji oblik obavještavanja, IM pošalje poruka koristeći GTalk-ov XMPP ili Hotmail-ov (Uživo ili nešto slično, ni sam ne znam kako se zove). Pokušat ću to prvo napraviti s GTalkom, jer bih se za Hotmail morao prisjetiti ili se negdje podržati da bih kreirao Hotmail račun, jer s toliko promjena i promjena koje Microsoft ima, nema pojma kakav je.
  • Druga varijanta potonjeg bila bi upotreba obavještenja ili poruka koje šalju Facebook ili Twitter. Za Twitter biste mogli koristiti Twidge dok za Facebook možete koristiti fbcmd. Obje aplikacije omogućuju mi ​​interakciju s ovim društvenim mrežama s terminala.
  • Razmišljam i o provjeri integriteta sqla koji izvozim, ali ovo već zahtjeva malo više vremena :)

ftp server

Kraj!

Pa, ništa više za dodati ... trenutno zauzimam nekoliko svojih skripti izrađenih u Bashu kako bih ih optimizirao i poboljšao, nadam se da neće trebati previše vremena da donesem vijesti 😀

Saludos


8 komentara, ostavi svoj

Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   barnarasta rekao je

    Sjajan projekt,
    Pratit ću ga s velikim zanimanjem.
    - Bilo kakva obavijest @ ako server ne radi ili isporuka ne može biti izvršena?

    Izuzetno je ugodno čitati članke ljubitelja terminala / konzole.

    1hello2

    1.    KZKG ^ Gaara rekao je

      Zadovoljstvo je moje 🙂

      Dobra ideja, da biste provjerili je li FTP poslužitelj na mreži, a ako nije, pošaljite e-poštu ... Uzet ću je u obzir ^ _ ^

  2.   Moses Serrano rekao je

    Prilagodio sam vašu skriptu za sigurnosne kopije i prilagodio projekt koji vam omogućava da konačnu datoteku prenesete u Dropbox (https://github.com/andreafabrizi/Dropbox-Uploader) i na kraju pošaljite e-poštu sendmail-om.

  3.   dhunter rekao je

    Gaara, morate isprobati pravi alat za ovo: lftp

    Podržava čak i zrcaljenje, sinhronizacija repoa sa ftp-a je neprocjenjiva.

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

  4.   Jorge rekao je

    Vrlo je zanimljivo, ljepota je ovog sistema, isti rezultat možete dobiti na više načina; Pokazat ću vam način na koji sam uspijevao prenijeti datoteke na ftp server, pomalo je rustičan, ali i dalje funkcionira:

    {
    echo user user password
    eho bin
    echo prompt
    echo cd / directory / from / server / ftp
    echo put file
    echo close
    eho ćao
    } | ftp -n server.ftp

    1.    KZKG ^ Gaara rekao je

      OOOHHH zanimljivo, nisam znao šta se može ovako učiniti 😀
      Hvala!

  5.   Sephiroth rekao je

    Drugi načini, na primjer s wputom:

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

    ili za one koji preferiraju jednostavnost u skripti koja koristi stari telnet:

    ftp -n server_ip << EOF
    anonimni korisnik test@test.cu
    pošaljite FILE.txt
    izlaz
    EOF

  6.   Javier rekao je

    Pozdrav, početnik sam u Linuxu i ne znam računarsku nauku - samo na korisničkom nivou -, niti programiranje, ili bilo što slično, praktično nisam u vezi s tim. Čitao sam ovaj članak i pročitao sam na kraju drugog pasusa riječ "lokacija"; ta se riječ zloupotrijebila, mislili ste: mjesto, mjesto, mjesto, mjesto. Riječ lokacija znači nešto drugo kako RAE kaže "http://dle.rae.es/?id=NXeOXqS".