...

среда, 26 февраля 2014 г.

Облачное хранилище и консольные FTP-клиенты

image

Об особенностях работы с нашим хранилищем по FTP мы уже писали. Сегодня мы затронем более узкую и специальную тему и обсудим особенности работы с хранилищем с помощью консольных FTP-клиентов, довольно часто используемых для организации резервного копирования и архивирования.


Все эти клиенты отличаются своеобразным и довольно сложным синтаксисом команд. Чтобы наши пользователи не испытывали трудностей и не тратили время на поиск по мануалам при написании соответствующих скриптов, мы решили составить небольшую шпаргалку с примерами команд для выполнения наиболее распространенных операций:



  • загрузки файлов в хранилище;

  • скачивания файлов с возможностью возобновления при отмене или обрыве соединения;

  • синхронизации локальных файлов с файлами в хранилище и наоборот.






LFTP




Загрузка одного файла в хранилище:

$ lftp -e 'cd /container/; put /path/to/local/file; bye' -u xxxx_ftp,PasSw0rD ftp.selcdn.ru



(здесь и далее вместо xxxx_ftp указываем имя пользователя, вместо PasSw0rD — свой пароль, containter — имя контейнера; вместо /path/to/local/file — путь к файлу на локальной машине).

Загрузка папки со всеми файлами в ней:



$ lftp -e 'mirror -R /path/to/local/dir/ /container/; bye' -u xxxx_ftp,PasSw0rD ftp.selcdn.ru



(здесь и далее вместо /path/to/local/dir/ указываем путь к папке на локальной машине).

При повторном выполнении операции загрузки файлов осуществляется синхронизация содержимого контейнера и соответствующей папки на локальной машине: в хранилище будут загружены только файлы, которые отсутствовали на момент предыдущей загрузки.


С помощью опции —delete можно удалять из хранилища файлы, которых уже нет на локальной машине. Она может быть полезна для очистки хранилища от файлов, утративших свою актуальность.



$ lftp -e 'mirror --delete -R /path/to/local/dir/ /container/; bye' -u xxxx_ftp,PasSw0rD ftp.selcdn.ru



Скачивание одного файла из хранилища на локальную машину:

$ lftp -e 'get /container/file -o to-dir/; bye' -u xxxx_ftp,PasSw0rD ftp.selcdn.ru



Возобновление скачивания (например, в случае, если произошел разрыв соединения или операция загрузки была прервана):

$ lftp -e 'get -c /container/file -o to-dir/; bye' -u xxxx_ftp,PasSw0rD ftp.selcdn.ru



Скачивание из хранилища папки со всем содержимым:

$ lftp -e 'mirror /container/ to-dir/; bye' -u xxxx_ftp,PasSw0rD ftp.selcdn.ru



Опция -P для предыдущей команды позволяет выполнить скачивание в несколько потоков, что может ускорить всю операцию в целом:

$ lftp -e 'mirror -P 10 /container/ to-dir/; bye' -u xxxx_ftp,PasSw0rD ftp.selcdn.ru



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

$ lftp -u xxxx_ftp,PasSw0rD ftp.selcdn.ru

NCFTP




Загрузка одного файла в хранилище:

$ ncftpput -u xxxx_ftp -p PasSw0rD ftp.selcdn.ru /container/ /path/to/local/file



NCFTP поддерживает автоматическое повторение операции в случае возникновения ошибок при ее выполнении; для этого нужно использовать опцию -r:

# повторять попытку 5 раз
$ ncftpput -r 5 -u xxxx_ftp -p PasSw0rD ftp.selcdn.ru /container/ /path/to/local/file




Загрузка папки со всеми файлами в ней:

$ ncftpput -R -r 5 -u xxxx_ftp -p PasSw0rD ftp.selcdn.ru /container/ /path/to/local/dir/



Синхронизация локальных файлов с хранилищем:

$ ncftpput -z -R -r 5 -u xxxx_ftp -p PasSw0rD ftp.selcdn.ru /container/ /path/to/local/dir/



Скачивание из хранилища одного файла:

$ ncftpget -u xxxx_ftp -p PasSw0rD ftp.selcdn.ru to-dir/ /container/file



Возобновление скачивания, опция -z:

$ ncftpget -z -u xxxx_ftp -p PasSw0rD ftp.selcdn.ru to-dir /container/file



Загрузка на локальную машину папки с файлами:

$ ncftpget -R -u xxxx_ftp -p PasSw0rD ftp.selcdn.ru to-dir/ /container/dir/

# докачать
$ ncftpget -R -z -u xxxx_ftp -p PasSw0rD ftp.selcdn.ru to-dir /container/dir/


Wget




Скачивание одного файла на локальную машину:

# файл будет загружен в текущую папку
$ wget http://ift.tt/1hewMq1
# возобновление скачивания
$ wget -с http://ift.tt/1hewMq1




Скачать на локальную машину папки с файлами:

$ wget -r http://ift.tt/1hewMq4
# докачать недостающие файлы
$ wget -r -с http://ift.tt/1hewMq4


cURL




Загрузка одного файла в хранилище:

$ curl http://ift.tt/1hewNdy --user xxxx_ftp:PasSw0rD -T /path/to/local/file



Скачивание файла на локальную машину:

# обязательно нужно указать имя файла для сохранения (опция -o)
$ curl http://ift.tt/1jzl2P8 --user xxxx_ftp:PasSw0rD -o file


Поддержка протокола SFTP




Теперь наше хранилище поддерживает и доступ по протоколу SFTP — пока что в режиме тестирования.

Приглашаем всех заинтересованных читателей попробовать новую возможность. Для подключения нужно указывать хост sftp.selcdn.ru. Обо всех ошибках и проблемах с доступом по SFTP обязательно сообщайте нам. Все замечания и предложения по улучшению сервиса обязательно примем к сведению.


Читателей, не имеющих возможности комментировать посты на Хабре, приглашаем к нам в блог.


This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.


Комментариев нет:

Отправить комментарий