2017-09-13 50 views
-3

我想將所有.csv文件移動到$FEEDBACK_FILE_LISTsend "ls -lt *.csv > ${FEEDBACK_FILE_LIST}\r"。它不會引發任何錯誤,也不會將任何文件移動到本地目錄$ FEEDBACK_FILE_LIST中。

請幫幫我。

編輯: 我想要得到的文件列表到本地目錄.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 job,並且你完全確定你想要這樣做!!!!你可以這樣做

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

這樣你就不會提示輸入密碼,用於cron作業真的很有用,但要注意,密碼將是打開的腳本文件,任何人都可見。寫在別的地方也無濟於事,因爲它可以很容易地被追蹤。

如果你不需要它是一個cron作業,你可以做這樣的事情在你的.bashrc

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

那麼你可以隨時做終端

getlogs password 

這是我會這樣做的方式。

+0

在遠程目錄(SFTP)中,我們不應該刪除,實際上我們需要將.csv文件從SFTP目錄複製到本地目錄。因此,我們正在將文件複製到變量($ 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>」 發送的 「ls -la * .CSV> $ {FEEDBACK_FILE_LIST} \ R」 期望 「SFTP>」 發送「再見\ r「 EOD –

相關問題