bash – scp和远程mkdir -p
发布时间:2020-12-15 21:42:25 所属栏目:安全 来源:网络整理
导读:嗨,我有一些文件路径 / ifshk5 / BC_IP / PROJECT / T1 1073 / T11073_RICljiR /拆分/ AG19_235 / 120225_I872_FCC0HN2ACXX_L8_RICljiRSYHSD2-1-IP AAPEK-17_1.fq.gz 我需要从一个ftp服务器复制文件到其他服务器.如果服务器中不存在,还需要创建目录. 我登录
嗨,我有一些文件路径
/ ifshk5 / BC_IP / PROJECT / T1 1073 / T11073_RICljiR /拆分/ AG19_235 / 120225_I872_FCC0HN2ACXX_L8_RICljiRSYHSD2-1-IP AAPEK-17_1.fq.gz 我需要从一个ftp服务器复制文件到其他服务器.如果服务器中不存在,还需要创建目录. #! /bin/bash while read myline do for i in $myline do if [ -f $i ] then location=$(echo "$i" | awk -F "/" '{ print "",$6,$7,$8 }' OFS="/") #location shows /T11073_RICekkR/Fq/AS59_59304 location="/opt/CLiMB/Storage3/ftp/ftp_climb/100033"$location echo $location ssh tam@192.168.174.43 mkdir -p $location scp -r $i tam@192.168.174.43:$location fi done done < /ifshk5/BC_IP/PROJECT/T11073/T11073_all_3254.fq.list 它有一些问题,1.它无法工作总是显示权限被拒绝,请再试一次. ssh tam@192.168.174.43 mkdir -p /sample/xxxx 它可以工作,新的目录位置是正确的,它显示像 解决方法
我没有看到“许可被拒绝”错误可能来自哪里;使用bash -x运行脚本以查看导致错误的命令.也许这不是你所期望的.
也尝试rsync而不是再次发明轮子: rsync --dirs $i tam@192.168.171.34:$b –dirs将在远程端创建必要的文件夹(当出现故障时,它会为您提供良好的错误消息). 如果双方都有相同的文件夹结构,甚至可以通过单次调用rsync来完成所有操作: rsync -avP /ifshk5/BC_IP/PROJECT/T11073/ tam@192.168.171.34:/opt/CLiMB/Storage3/ftp/ftp_climb/100033/ 注意路径之后的/!不要忽略它们. rsync将确定需要传输哪些文件并仅复制这些文件.如果只想传输子集,请使用–include-from (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |