2017-09-13 4 views
-3

.csvファイルをすべてsend "ls -lt *.csv > ${FEEDBACK_FILE_LIST}\r"でに移動したいとします。それはどんなエラーも投げていませんが、ファイルをローカルディレクトリ$ FEEDBACK_FILE_LISTに移動しません。

私を助けてください。

EDIT:私はローカルディレクトリ.PFBにファイルの一覧を取得したい ..あなたは、いくつかのオプションがあります

expect<<EOD 
spawn /usr/bin/sftp -o Port=22 ${USER}@${HOST_NAME} 
expect "password:" 
send "${PASSWD}\r" 
expect "sftp>" 
send "ls -la *.csv > ${FEEDBACK_FILE_LIST}\r" 
expect "sftp>" 
send "bye\r" 
EOD 

答えて

0

は、最高のは、次のだろう。使用方法

ssh [email protected] "ls -lt /directory/of/log/*.csv" > $FEEDBACK_FILE_LIST 

と仮定すると、$FEEDBACK_FILE_LISTはマシン上のファイルです。このためにcronジョブをセットアップしたい場合や、あなたがそれをやりたいと完全に確信しているなら!あなたはcronジョブのために本当に便利

ssh host:[email protected] "ls -lt /directory/of/log/*.csv" > $FEEDBACK_FILE_LIST 

パスワードの入力を求め得ることはありません。この道のようなものを、行うが、認識することができ、パスワードは、スクリプトファイルを開き、誰にも表示されます。それを簡単に追跡することができたので、他の場所に書き込むことも役に立ちませんでした。

あなたはそれをcronジョブである必要はありません場合は、あなたがあなたの.bashrcにこのような何かを行うことができますが:

function getlogs() { 
    ssh username:[email protected] "ls -lt /directory/of/log/*.csv" > $FEEDBACK_FILE_LIST 
} 

その後、あなたは常に、端末

getlogs password 

に行うことができますこれは、私がそれをやる方法。

+0

私たちは削除しないでください。実際に何をしようとしていますか?SFTPディレクトリから私たちのローカルdirecotryに.csvファイルをコピーする必要があります。ファイルをvaraible($ FEEDBACK_FILE_LIST /)にコピーしています。 。私はログにファイルのリストを作成できますが、ローカルディレクトリに移動することはできません。 ls -la * .csv> /***/**/***/log/9006_feedback_files_list.txt ----> FEEDBACK_FILE_LIST –

+0

私は答えを編集します – campovski

+0

ありがとう、しかし私たちはリモートでscpコマンドを使うことはできません(SFTP>)。私のポイントは、ファイルのリストをローカルディレクトリ.PFB..expect << EOD spawn/usr/bin/sftp -o Port = 22 $ {USER} @ $ {HOST_NAME} 送信 "$ {PASSWD} \ R" "SFTP>" 送信「期待 "SFTP>" 送るの "ls -la * .CSV> $ {FEEDBACK_FILE_LIST} \ R" を期待\ BYE: は、 "パスワードは" 期待しますr " EOD –

関連する問題