linux – 在bash脚本中使用lftp传输文件
发布时间:2020-12-14 01:50:30 所属栏目:Linux 来源:网络整理
导读:我有服务器A test-lx和服务器B test2-lx,我想将文件从服务器A传输到服务器B. 在传输文件的同时,只有在不存在时才需要创建一个driectory,如何在lftp连接期间检查目录是否存在?如何在一个命令中输出多个文件而不是在两行中执行此操作. 是否可以使用find -maxd
我有服务器A test-lx和服务器B test2-lx,我想将文件从服务器A传输到服务器B.
在传输文件的同时,只有在不存在时才需要创建一个driectory,如何在lftp连接期间检查目录是否存在?如何在一个命令中输出多个文件而不是在两行中执行此操作. 是否可以使用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 解决方法
使用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 你可以与再见关系密切 您可以检查文件夹是否存在,如下所示: #!/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 你可以打开另一个连接来放置一些文件. 我不知道如何通过一个连接检查文件夹是否存在,但我可以这样做.也许你可以找到更好的解决方案 #!/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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |