use*_*786 6 unix linux bash centos
我有服务器A test-lx和服务器B test2-lx,我想将文件从服务器A传输到服务器B.虽然传输文件我只需要创建一个driectory,如果它不存在,我如何检查lftp期间是否存在目录conenction?如何在一个命令中输出多个文件而不是在两行中执行此操作.有没有选择使用find -maxdepth 1 -name DirName
这是我的代码:
lftp -u drop-up,1Q2w3e4R ftp://ta1bbn01:21 << EOF
cd $desFolder
mkdir test
cd test
put $srcFil
put $srcFile
bye
EOF
Run Code Online (Sandbox Code Playgroud)
phe*_*phe 15
使用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
Run Code Online (Sandbox Code Playgroud)
用lftp:
#!/bin/bash
lftp -u username,password ip << EOF
cd /home/xxx/xxx/what/you/want/
put what_you_want_to_upload
bye
EOF
Run Code Online (Sandbox Code Playgroud)
从lftp手册:
-u <user>[,<pass>] use the user/password for authentication
Run Code Online (Sandbox Code Playgroud)
您可以使用mkdir创建目录.你可以像这样使用put命令几次:
put what_you_want_to_upload
put what_you_want_to_upload2
put what_you_want_to_upload3
Run Code Online (Sandbox Code Playgroud)
你可以关闭连接 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
Run Code Online (Sandbox Code Playgroud)
从lftp手册:
-c <cmd> execute the commands and exit
Run Code Online (Sandbox Code Playgroud)
你可以打开另一个连接来放置一些文件.
我不知道如何通过一个连接检查文件夹是否存在,但我可以这样做.也许你可以找到更好的解决方案
#!/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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
53064 次 |
| 最近记录: |