2016-04-27 9 views
0

私はsftp接続経由でサーバーに接続します。私は2つのファイルを取得する必要があります:最後に作成/変更* .sqlと* .bkpファイル。SFTP最終作成/変更ファイル

私は今、私はこれらの2つのファイルの名前を持って、私は得ることができますどのように私の地元のmashineに

get list_of_files 
cat list_of_files | grep *sql | head -1 >> sql_filename 
cat list_of_files | grep *sql | head -1 >> bkp_filename 

ls -t >> list_of_files出力 Can't ls: "path" not found

を、それをダウンロードして、その後 ls -t >> list_of_files のようなものを試してみた

それはsftpサーバーからですか?

どうすればいいですか?

+0

sshを使用してみてください:-tパス/に/ファイル/ '' sshのユーザ@サーバLSとあなたもグレップと頭を含めることを仕事ができるのまた、必要なファイルだけを返すようにします。 'ssh user @ server ls -t/path/to/files/| grep \ *。sql | head -1 >> sql_filename'注意:ローカルbashが拡張されないように*のエスケープを渡します。リモートのgrepにそのまま残してください。 – Cwissy

+0

しかし、私はsftpを使ってこれをやりますか? – Vladislav

+0

@Cwissy、 'ssh l-one @ localhost ls -tl Desktop/l |と入力すると、空のsql_filenameが表示されます。 grep \ *。sql | head -1 >> sql_filename' – Vladislav

答えて

0

最初のファイルのリストを取得するには、この

ssh [email protected] 'file=`ls -t| tail -n 1`; scp $file [email protected]://current_dir' 
+0

このコードは質問に答えるかもしれませんが、理由や質問にどのように答えるかについての追加の文脈を提供することで、長期的な価値が大幅に向上します。あなたの答えを[編集]して、説明を加えてください。 – CodeMouse92

関連する問題