<?xml version="1.0" encoding="utf-8"?> 
<rss version="2.0"
  xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
  xmlns:atom="http://www.w3.org/2005/Atom">

<channel>

<title>Заметки эникейщика: заметки с тегом ftp</title>
<link>https://note.marilov.su/tags/ftp/</link>
<description>На всякий случай</description>
<author></author>
<language>ru</language>
<generator>Aegea 11.2 (v4116)</generator>

<itunes:subtitle>На всякий случай</itunes:subtitle>
<itunes:image href="" />
<itunes:explicit></itunes:explicit>

<item>
<title>Использование lftp для обмена файлами с ftp сервером в Linux</title>
<guid isPermaLink="false">5</guid>
<link>https://note.marilov.su/all/ispolzovanie-lftp-dlya-obmena-faylami-s-ftp-serverom-v-linux/</link>
<pubDate>Tue, 09 Jun 2020 16:00:11 +1100</pubDate>
<author></author>
<comments>https://note.marilov.su/all/ispolzovanie-lftp-dlya-obmena-faylami-s-ftp-serverom-v-linux/</comments>
<description>
&lt;p&gt;&lt;b&gt;lftp&lt;/b&gt; — утилита командной строки, которая позволяет обмениваться данными с ftp и http серверами. lftp имеет функционал зеркалирования, который позволяет загружать или рекурсивно обновлять дерево каталогов. Она также имеет функционал обратного зеркалирования (mirror -R), который позволяет рекурсивно обновлять обновлять дерево каталогов на удаленном сервере. Зеркалирование также позволяет синхронизировать папки между двумя удаленными серверами.&lt;/p&gt;
&lt;h2&gt;Синтакс использования:&lt;/h2&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;mirror  
mirror options  
mirror -c  
mirror -R&lt;/code&gt;&lt;/pre&gt;&lt;h2&gt;На пример: Как загрузить все файлы с удаленного сервера?&lt;/h2&gt;
&lt;p&gt;Для начала устанавливаем соединение с сервером:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;lftp ftp.server.com&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Вводим имя пользователя и пароль:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;lftp ftp.server.com:~&amp;gt; user username@ftp.server.com  
Password:&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;В результате получаем:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;lftp username@ftp.server.com:~&amp;gt;  
Type ls command to see a list of files:&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Вводим ls для просмотра содержимого каталога:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;lftp ftp.server.com:~&amp;gt; ls&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;В результате получаем листинг каталога:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;-rw-r-r- 1 80 www 36809419 Jun 24 23:59 file1.ext  
-rw-r-r- 1 80 www 100912271 Jun 25 23:59 file2.ext  
-rw-r-r- 1 80 www 102926055 Jun 26 23:59 file3.ext&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Для того что бы скопировать все файлы к себе в текущий каталог введите mirror:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;lftp ftp.server.com:~&amp;gt; mirror&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Вы можете указать исходный каталог и папку, в которой нужно разместить скачанные файлы (каталог назначения). Если каталог назначения заканчивается символом / (слэш), тогда к нему будет дописано имя исходного каталога.&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;lftp ftp.server.com:~&amp;gt; mirror source target&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;или&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;lftp ftp.server.com:~&amp;gt; mirror logs/ /data/wwwlogs&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;В этом случае все файлы из папки logs на исходном сервере будут скопированы в папку /data/wwwlogs на текущем.&lt;br /&gt;
При использовании следующего синтаксиса, все файлы из папки logs будут скопированы в папку /data/wwwlogs/logs&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;lftp ftp.server.com:~&amp;gt; mirror logs/ /data/wwwlogs/&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Рекомендуется использовать mirror с включенной опцией продолжения загрузки, в этом случае не придется заново загружать все файлы в случае разрыва соединения или прерывания трансфера данных:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;lftp ftp.server.com:~&amp;gt; mirror -c source target&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;или&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;lftp ftp.server.com:~&amp;gt; mirror -continue&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Для того что бы скачать только новые/обновленные файлы используем ключ only-newer:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;lftp ftp.server.com:~&amp;gt; mirror -only-newer&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;или&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;lftp ftp.server.com:~&amp;gt; mirror -n&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Можно ускорить операцию зеркалирования, включив параллельную загрузку или загрузку файлов в несколько потоков:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;lftp ftp.server.com:~&amp;gt; mirror -P&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Для того что бы загрузить параллельно 10 файлов можно воспользоваться следующей командой:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;lftp ftp.server.com:~&amp;gt; mirror -parallel=10&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Для того что бы загрузить только новые файлы с сервера в 10 потоков:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;mirror -continue -only-newer -parallel=5 имя_папки имя_папки&lt;/code&gt;&lt;/pre&gt;&lt;h2&gt;Пример 2: Как загрузить локальные файлы на удаленный сервер?&lt;/h2&gt;
&lt;p&gt;Для заливки файлов на сервер нужно использовать ключ -R или -reverse&lt;/p&gt;
&lt;p&gt;Для начала устанавливаем соединение с сервером:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;lftp ftp.server.com&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Вводим имя пользователя и пароль:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;lftp ftp.server.com:~&amp;gt; user username@ftp.server.com  
Password:&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;В результате получаем:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;lftp username@ftp.server.com:~&amp;gt;  
Type ls command to see a list of files:&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Переходим в папку /home/project/website/version5/:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;lftp ftp.server.com:~&amp;gt; lcd /home/project/website/version5/&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Вывод:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;lcd ok, local cwd=/home/project/website/version5&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Для того, что бы загрузить файлы на сервер, используйте следующий синтаксис:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;lftp ftp.server.com:~&amp;gt; mirror -R&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Можно указать локальный и удаленный каталог:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;lftp ftp.server.com~&amp;gt; mirror -R /home/user/projects/website /var/www/html&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Одной командой:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;lftp -e &amp;#039;mirror -parallel=10 -R /home/user/projects/website /var/www/html&amp;#039; -u логин,пароль адрес_сервера&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Если в ходе работы с удаленным сервером вы получили следующую ошибку:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;521 Data connection cannot be opened with this PROT setting.&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Тогда выполните следующие команды и повторите последнюю операцию:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;set ftp:ssl-force true  
set ftp:ssl-protect-data true&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;a target="blank_" href="http://www.tech-notes.net/use-lftp-for-file-exchange/"&gt;&lt;i&gt;Источник&lt;/i&gt;&lt;/a&gt;&lt;/p&gt;
</description>
</item>


</channel>
</rss>