Вече видяхме как да се свържем с 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, който експортирам, но това вече изисква малко повече време :)
Край!
Е, няма какво повече да добавя ... за момента се занимавам с няколко от моите скриптове, направени в Bash, за да ги оптимизирам и подобря, надявам се да не отнеме твърде много време, за да донеса новини
поздрави
8 коментара, оставете своя
Страхотен проект,
Ще го следя с голям интерес.
- Всяко известие @, ако сървърът не работи или доставката не може да бъде извършена?
Невероятно приятно е да четете статии от любителите на терминали / конзоли.
1 здравей2
Удоволствието е мое 🙂
Добра идея, за да проверите дали FTP сървърът е онлайн и ако не е, да изпратите имейл ... Ще го взема предвид ^ _ ^
Бях адаптирал вашия скрипт за архивиране и адаптирах проект, който ви позволява да качите окончателния файл в Dropbox (https://github.com/andreafabrizi/Dropbox-Uploader) и изпратете имейл в края чрез sendmail.
Gaara трябва да изпробваш правилния инструмент за това: lftp
Той дори поддържа огледално отразяване, за да синхронизирате репозитории от ftp е безценно.
http://www.cyberciti.biz/faq/lftp-mirror-example/
Много интересно, това е красотата на тази система, можете да получите един и същ резултат по множество начини; Показвам ви метода, при който успях да кача файлове на ftp сървър, той е малко селски, но все пак работи:
{
echo потребителска потребителска парола
ехо кош
ехо ред
echo cd / directory / from / server / ftp
echo put file
ехо отблизо
ехо чао
} | ftp -n server.ftp
OOOHHH интересно, не знаех какво може да се направи така 😀
Благодаря ви!
Други начини, например с wput:
wput file_to_upload ftp: // ПОТРЕБИТЕЛ: PASS@123.123.123.123: 21
или за тези, които предпочитат простотата в скрипта, използвайки стария telnet:
ftp -n server_ip << EOF
потребител анонимен test@test.cu
изпратете FILE.txt
изход
EOF
Здравейте, аз съм начинаещ в Linux и не познавам изчисленията - само на потребителско ниво - или програмирането, или нещо подобно, на практика съм в неведение за това. Четох тази статия и прочетох в края на втория абзац думата „местоположение“; тази дума е злоупотребена, вие сте имали предвид: местоположение, местоположение, местоположение, място. Думата местоположение означава нещо друго, както RAE казва "http://dle.rae.es/?id=NXeOXqS".