FTPを介してストレージを操作する機能についてはすでに説明しました 。 今日は、より狭く特別なトピックに触れ、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
ストレージからローカルマシンへの1つのファイルのダウンロード:
$ 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/
1つのファイルのストレージからダウンロードします。
$ 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
1つのファイルをローカルマシンにダウンロードする:
# $ wget ftp://xxxx_ftp:PasSw0rD@ftp.selcdn.ru/container/file # $ wget - ftp://xxxx_ftp:PasSw0rD@ftp.selcdn.ru/container/file
ファイルを含むフォルダーをローカルマシンにダウンロードします。
$ wget -r ftp://xxxx_ftp:PasSw0rD@ftp.selcdn.ru/container/dir/ # $ wget -r - ftp://xxxx_ftp:PasSw0rD@ftp.selcdn.ru/container/dir/
cURL
単一のファイルをリポジトリにアップロードする:
$ curl ftp://ftp.selcdn.ru/container/ --user xxxx_ftp:PasSw0rD -T /path/to/local/file
ファイルをローカルマシンにダウンロードする:
# ( -o) $ curl ftp://ftp.selcdn.ru/container/file --user xxxx_ftp:PasSw0rD -o file
SFTPサポート
現在、ストレージはSFTPアクセスもサポートしています-これまでのところはテストモードです。
興味のあるすべての読者を招待して、新しい機会に挑戦してください。 接続するには、ホストsftp.selcdn.ruを指定する必要があります。 SFTPアクセスに関するエラーや問題がある場合は、必ず通知してください。 サービスを改善するためのすべてのコメントと提案は間違いなく考慮されます。
Habréの投稿にコメントできない読者は、私たちのブログを歓迎します。