問題タブ [lftp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2091 参照

linux - 私の基準を満たさないlftpミラーリングディレクトリ

私は、リモートディレクトリをローカルディレクトリに効率的にミラーリングする必要があるlftpスクリプトを作成しており、一度に複数のギガバイトファイルを転送する可能性があります。

要件の1つは、ローカルユーザーがローカルファイルを不要になったときに削除できることです。このスクリプトを実行する「ローカル」コンピューターが複数あるため、リモートファイルを削除したくないのは、それが必要です、持っています。そのため、スクリプトは--newer-thanフラグを使用して、lftpスクリプトが最後にローカルで実行されてからリモートサーバー上で新規/変更されたファイルのみをミラーリングします。

スクリプトの重要な部分は次のとおりです。

EOFはbashスクリプトの実際の終わりではないことに注意してください。

したがって、last.runファイルのタイムスタンプよりも新しいshare /ディレクトリ自体を含め、share/ディレクトリ内のものを除いて$remote_dir内のすべてを除外します。

これは、share /という別の特定の名前のディレクトリがshareWHATEVER/と呼ばれる場合を除いて、期待どおりに機能します。

したがって、share / shareWHATEVER/stuff.txtが存在します。

初めて実行すると、shareWHATEVER / stuff.txtがリモートからローカルにコピーされ、すべて問題ありません。

shareWHATEVERディレクトリ全体(stuff.txtを含む)をローカルで削除すると、次にスクリプトを実行するときに、stuff.txtはミラーリングされませんが、リモートサーバーでタイムスタンプが変更されていなくても、shareWHATEVERはミラーリングされます。

したがって、ローカルでは、ディレクトリが空のshare /shareWHATEVER/のように見えます。

自身のタイムスタンプもファイルのタイムスタンプもローカルチェックよりも新しいものではないのに、shareWHATEVERがコピーされる理由はありますか?

ありがとう。

0 投票する
2 に答える
6743 参照

java - コマンドラインでの引用

LFTP 用の maven プラグインを作成しようとしていますが、これには Java アプリケーションから LFTP コマンド ライン プログラムを呼び出す必要があります。

ただし、単一引用符、二重引用符、エスケープされた単一/二重引用符を使用して、渡されたコマンドを処理することはできません。

これまでのコードは次のとおりです。

そして、次に何を試すべきかについての提案を探しています。

編集 #1: and を事前に作成された文字列として使用しようとしorg.apache.commons.exec.CommandLineましたが、次のエラーが発生します。

しかし、生成されたコマンドを印刷して手動で実行すると、正常に動作します。

編集 #2:いくつかの明確さを追加しました。

0 投票する
2 に答える
14589 参照

linux - lftp のロギング場所

lftp の使用中に、xfer:log 設定が「yes」に設定されていると、ファイル転送が ~/.lftp/transfer_log に記録されます。

lftp の 2 つのインスタンスが同時に実行されているとどうなりますか? ログファイルは混同されますか?

ログファイルの書き込み先を変更する方法はありますか?

ありがとう。

0 投票する
2 に答える
2891 参照

ftps - UbuntuからlftpおよびFTPSを使用してYahooWebホスティングに接続できません

私はUbuntu12.10を実行しており、Yahoo Webhostingを使用しています。また、独自のドメイン「example.com」も持っています。以前はFTPを使用して、ウェブホスティングアカウントとの間でファイルを転送し、ウェブサイトを更新していました。しかし、YahooはFTPのサポートを終了したばかりであり、ユーザーはFTPSのみを使用する必要があります。FTPは安全ではなく、FTPSへの移行が必要であることがわかっているので、この変更に満足しています。そこで、lftp(http://lftp.yar.ru/)を見つけました。これは、YahooWebホスティングとの間でファイルを転送するために使用できるFTPSクライアントのようです。「sudoapt-getinstalllftp」でインストールできましたが、YahooWebhostingに接続しようとすると動作しません。

これが私のシステム情報です:

user @ hostname:〜/ Desktop >> more /etc/issue.net Ubuntu 12.10

user @ hostname:〜/ Desktop >> uname -a Linux mojave 3.5.0-23-generic#35-Ubuntu SMP Thu Jan 24 13:05:29 UTC 2013 i686 i686 i686 GNU / Linux

user @ hostname:〜/ Desktop >> lftp -v LFTP | バージョン4.3.8| Copyright(c)1996-2012 Alexander V.Lukyanov

LFTPはフリーソフトウェアです。フリーソフトウェアファウンデーションによって公開されているGNUGeneralPublic Licenseのバージョン3、または(オプションで)それ以降のバージョンの条件の下で、LFTPを再配布および/または変更できます。

このプログラムは、役立つことを期待して配布されていますが、いかなる保証もありません。商品性または特定目的への適合性の黙示の保証もありません。詳細については、GNU GeneralPublicLicenseを参照してください。

GNU GeneralPublicLicenseのコピーをLFTPと一緒に受け取っているはずです。そうでない場合は、http://www.gnu.org/licenses/を参照してください

バグレポートと質問をメーリングリストに送信します。

使用されるライブラリ:Readline 6.2、GnuTLS 2.12.14、zlib 1.2.7

これが私がそれを行っていた方法です:user @ hostname:〜/ Desktop >> ftp username@ftp.example.com

ここで、以下のコマンドを試しましたが、機能しません:user @ hostname:〜/ Desktop >> lftp username@ftp.example.com Password:lftp username@ftp.example.com:〜> ls
警告:gnome- keyring ::接続できませんでした:/ run / user / username / keyring-EvxB3g / pkcs11:そのようなファイルまたはディレクトリはありませんls:致命的なエラー:証明書の検証:信頼されていませんlftp username@ftp.example.com:〜>終了

私は何が間違っているのですか?lftpでYahooWebhostingへのFTPSセッションを作成するにはどうすればよいですか?

助けてくれてありがとう!ほんとうにありがとう!!

スティーブマクマホン

0 投票する
1 に答える
28762 参照

ftp - PORT コマンドを認識しないサーバーでの LFTP アクティブ モード

LFTP を使用してサーバーからファイルを転送していますが、残念ながら PORT コマンドを認識しません。私はサーバーを制御できず (サーバーの詳細がわかりません)、アクティブ モードを使用する必要があります。

これは次のようなコマンド ラインです。

これはデバッグ出力です:

リモートサーバーがPORTコマンドをサポートしていないため、LFTPはデータソケットへの接続を放棄しているようです。LFTP が引き続きポート 20 に接続できることを確認する方法はありますか? FTP マニュアルでは明らかに問題ありません。

0 投票する
1 に答える
20275 参照

lftp - lftp を使用してリモート ファイルをダウンロードして削除する

コマンドラインのみを使用して、lftpを使用してリモートファイルをダウンロードおよび削除する方法がわかりません。

bashでもOKです。

フラグと完全なコマンド ラインとは何ですか? 私が理解できるのはmirrorコマンドだけですが、それはリモートサーバーにファイルを残します。

0 投票する
1 に答える
1886 参照

rsync - lftp ミラーのエラー メッセージ「ソース: ディレクトリです」

私はユーザー A1、パスワード P1 としてマシン A にいて、フォルダー L1 を持っています。リモート マシン B 上のユーザー A2 (P1) のフォルダー L2 との同期を維持したいと考えています。rsync が ftp 経由で機能しないことがわかっているため、A に lftp をインストールしました。

マシン A でスクリプトを作成しました (マシン B にはスクリプトを配置できません)。

ファイルはコピーされますが、「ソース: ディレクトリです」というメッセージが表示されます

-R フラグを試し、L1 と L2 の最後に / を追加しましたが、うまくいきませんでした。このメッセージを消すにはどうすればよいですか?

0 投票する
2 に答える
1345 参照

bash - while ループを含むデータ パイプライン スクリプトが WAITING_FOR_DEPENDENCE 状態でスタックする

ShellCommandActivity の Amazon Data Pipeline の一部として、いくつかの追加機能 (lftp など) をインストールして、Amazon Linux 64 ビットを実行している EC2 インスタンスで次のスクリプトを実行しようとしています。

行を削除すると、while完了まで実行されます (ShellCommandActivity は FINISHED ステータスに達します) が、そこにある場合、ShellCommandActivity が WAITING_ON_DEPENDENCIES ステータスになるという意味で、スクリプトは「失敗」します。

残念ながら、この場合、Data Pipeline サービスはログを書き出さないため、なぜ問題が発生するのかわかりません。同じイメージとインスタンス タイプでインスタンスを作成し、ボックスにログインして、自分でコマンドを実行します。

コードからすでに明らかなように、これらすべての目的は、S3 バケット内のファイルを sftp サーバーから削除することです。

ノート:

  • INPUT1_STAGING_DIRは S3 バケットであり、その部分は Data Pipeline によって管理されており、この部分が機能していることは既に確認済みです
  • スクリプトは実際にはすべて 1 行で実行されます。実行しやすいように行は分割されていますが、展開すると、4 行すべてがそれぞれの間にスペースがあるだけで連結されます。したがって、&&各行の最後と;3 行目のすべてが連結されます。

便宜上、より適切なフォーマットのコードを次に示します。