私はSFTPサーバーに接続しています
sftp -i key.pem user@server
サーバーにはログが含まれており、 を使用して最大 4 日前のログを一覧表示できますls
。問題は、ls では 4 日前のログを取得できないように見えることです。ディレクトリ内のすべてのログを一覧表示し、その合計サイズを取得するにはどうすればよいでしょうか。
サイズに関しても同様の質問がありましたここを使用したソリューションを提供していますdu -hc
。しかし、このコマンドは私の sftp サーバーに存在せず、ssh アクセスもできません。何かアイデアはありますか?
答え1
lftp
コマンドがありdu
、sftp
プロトコルをサポートしています:
lftp sftp://user@host
または、使用する SSH キーを指定してパスワード プロンプトをスキップするには、次のようにします。
lftp -e 'set sftp:connect-program ssh -axi key.pem' sftp://user:@host
そして、プロンプトで を実行しますdu
(または、du -ba
各ファイルとそのサイズをバイト単位で一覧表示するか、du -ha
サフィックスを使用します) 。これは、ディスク使用量ではなく見かけのサイズを示し、ディレクトリ ファイルのサイズを含まないという点で、sftp
Unix コマンドと異なることに注意してください。du
4日以上前のファイルがリストに表示されない場合はls
、ファイルが存在しないか、もう存在しないことが最も可能性の高い説明です。またはクライアントls
のコマンドは、sftp
lftp
SFTP プロトコルの「ディレクトリ読み取り」クエリまたは一連のクエリディレクトリの内容を取得します。サーバーがディレクトリの内容を送信せず、SFTP 以外でデータにアクセスする方法がない場合は、他にできることはほとんどありません。