2017-08-10 14 views
1
私は多くのことを検索し、あまりにも多くのことをグーグルが、私は何も見つかりませんでした

を通じて、私はLinux上ではbashを使用していバッシュスクリプト:... FTP

...

私は持っているが、フォルダのサイズを取得ftpサーバから特定のフォルダをダウンロードする(私はftpが廃止されていることを知っている、ftpsやsftpを使用することはできない。私はローカルネットワークにいる)。

サブフォルダとファイルがたくさんあるダウンロードしたフォルダの整合性チェックをしたいので、フォルダサイズをテストとして比較することを選択します。

私はwgetからダウンロードしていますが、私の質問は...ファイルサイズを保存してダウンロードしたものと比較できるように、ダウンロードする前にフォルダサイズを確認するにはどうすればよいですか? FTPでは、そう...

は私が親ディレクトリに単純にカールしてみましたが、そこにはサイズ情報...助けを

おかげではありません!

+0

のthnxを!ファイル名: mkdir/root/fs curlftpfs ftp:// USER:PASSWORD @ HOST// root/fs du -ksh/root/fs/FOLDER | awk 'BEGIN {FS = ""} {print $ 1}' –

答えて

1

プロトコルFTP経由でフォルダサイズを確認することはできません。可能であれば、メインサーバーのリモートフォルダをcurlftpfs経由で接続してみてください。

+0

スクリプトでこれを使用することは可能ですか?それを自動的に行う必要があります。相互作用なしで、 –

+0

は素晴らしいです、解決されたty –

0

wgetは、一度に1つずつすべてのディレクトリコンテンツを再帰的にダウンロードします。 ftpを使ってディレクトリ全体のサイズを決める方法はありません。 sshを使用することは可能ですが。

私はあなたのマシンにSSHサーバをインストールし、アクセスを獲得した後、あなたが目的のディレクトリのサイズを取得するには、次のコマンドを使用することができますお勧めします。

du -h desired_directory | tail -n 1 

私はそれがより多くのだ、しかし、この方法をお勧めしません。リモートコンテンツのハッシュチェックサムを取得し、ダウンロードしたコンテンツと比較することができます。これはずっと信頼性が高く、多くのダウンロードクライアントがファイルの整合性をチェックするために既に使用されています。

+0

は自動である必要があり、それは問題です。そして、そのサーバー上ではもっと多くのsshは不可能です。 –

+0

実際には、 "期待"のようなものを使ってsshセッションとftpセッションを自動化することができます。 "クラウド環境"と "奇妙な方法"が正確に何を意味していますか? – Samy

+0

私はそのクラウド環境でフロントエンドのSSHサーバーにアクセスして、あなたが望む特定の環境にリダイレクトする(手動で選択する)ことを意味します。新しいシェルも作成します。 –

0

基本的には、お客様のftpクライアントとお客様のftpサーバーが実行できる内容によって異なります。私が知っているいくつかと、デフォルトlsは仕事をしていませんし、彼らもsizeコマンドがあります。Vitaliyへ

ftp> help size 
size   show size of remote file 
ftp> size foo 
213 305 
ftp> ls foo 
200 PORT command successful. 
150 Opening ASCII mode data connection for file list 
-rw-r--r-- 1 foo bar  305 Aug 1 2013 foo 
226 Transfer complete. 
関連する問題