GNU/Linux >> Linux の 問題 >  >> Linux

bashスクリプトでlftpを使用してファイルを転送する

ftp による簡単な方法:

#!/bin/bash

ftp -inv ip << EOF
user username password

cd /home/xxx/xxx/what/you/want/
put what_you_want_to_upload

bye
EOF

lftp の場合:

#!/bin/bash

lftp -u username,password ip << EOF

cd /home/xxx/xxx/what/you/want/
put what_you_want_to_upload

bye
EOF

lftp マニュアルより:

-u <user>[,<pass>]  use the user/password for authentication

ディレクトリの作成には mkdir を使用できます。そして、次のように put コマンドを数回使用できます:

put what_you_want_to_upload
put what_you_want_to_upload2
put what_you_want_to_upload3

そして bye で接続を閉じることができます

次のようにフォルダが存在するかどうかを確認できます:

#!/bin/bash
checkfolder=$(lftp -c "open -u user,pass ip; ls /home/test1/test1231")

if [ "$checkfolder" == "" ];
then
echo "folder does not exist"
else
echo "folder exist"
fi

lftp マニュアルより:

-c <cmd>            execute the commands and exit

また、いくつかのファイルを配置するために別の接続を開くことができます。

1回の接続でフォルダーが存在するかどうかを確認する方法はわかりませんが、このように行うことができます。より良い解決策が見つかるかもしれません:

#!/bin/bash
checkfolder=$(lftp -c "open -u user,pass ip; ls /home/test1/test2")

if [ "$checkfolder" == "" ];
then

lftp -u user,pass ip << EOF

mkdir test2
cd test2
put testfile.txt
bye
EOF

else

echo "The directory already exists - exiting"

fi

Linux
  1. Crocを使用してコンピュータ間でファイルとフォルダを安全に転送する

  2. Pythonスクリプトを使用してSFTPサーバーからファイルをダウンロードする方法

  3. SCPを使用してファイルを安全に転送する方法

  1. Bash スクリプト:セッションをログに記録するための bash スクリプトからのスクリプト コマンドの使用

  2. Linuxでbashスクリプトを使用してインターネットアクセスをチェックするには?

  3. bashスクリプトで最新の3つを除くすべてのファイルを削除します

  1. bashスクリプトを使用してcrontabジョブをcrontabに追加するには?

  2. jenkins パイプラインで bash コマンドを実行する

  3. scp を使用してファイルの .txt ファイル リストを転送する