Pythonic способ сжатия удаленного каталога с использованием SSH или FTP - PullRequest
1 голос
/ 08 апреля 2019

Я хочу сделать резервную копию удаленного каталога с большим количеством файлов, и поэтому мне нужно сжать его перед загрузкой.Я могу получить доступ к этой папке через SSH или FTP.Хост работает в Linux.

Я покрыл часть загрузки с помощью aioftp.Я использовал команду paramiko и tar Linux для сжатия каталога на удаленном хосте, но вместо этого я хочу использовать модули Python (из стандартной библиотеки или нет) и избегать использования команд Linux.Может быть, комбинация paramiko для открытия сеанса, urllib для создания удаленного объекта и tarfile для его сжатия может сделать работу, но я не нашел пути.

В концеЯ хочу directory-backup.tar.gz в моем локальном хосте.Как мне это сделать?

1 Ответ

1 голос
/ 08 апреля 2019

Вы должны сжать каталог с помощью инструментов на сервере .

Использование локального кода Python не имеет смысла.Чтобы сжать файлы локально, вам нужно будет загрузить несжатые файлы, сжать их (с вашим локальным кодом Python) и загрузить сжатый архив, только чтобы загрузить его снова.Это противоречит цели сжатия, верно?

Если вы хотите использовать код Python для сжатия, вам придется запустить код Python на сервере.Либо загрузив сценарий и выполнив его на сервере, либо отправив код на удаленный python процесс.Я не вижу большого преимущества в этом использовании готовой команды tar.

...