Shell指令:远程文件夹拷贝

本文介绍了两种在Shell脚本中进行远程文件夹拷贝的方法:一是利用ftp和脚本创建文件结构后再传输文件;二是使用scp指令,虽然需要手动输入密码,但在单次任务中较为方便。对于自动化任务,推荐使用scp配合密钥对自动化登录。
摘要由CSDN通过智能技术生成

1 文件夹通过ftp拷贝到远程机器上

ftp是不支持文件夹传输的(sftp可以),如果一定要通过ftp传输文件夹,可以有几种策略:

(1)如果条件允许可以使用ftp软件,FlashFTP,CuteFTP都是支持文件夹传输的。

(2)如果无法使用ftp工具可以使用考虑先打成压缩包,然后传过去解压缩以后再移动到指定目录,这是比较推荐的方式,但是会让脚本变得复杂一些,而且需要额外的压缩和解压缩时间。

(3)如果上面两个条件都不允许,必须使用shell脚本来完成这个任务,那么可以参考下面的方法。

  shell脚本:

#! /bin/sh
#bash ftpfloder.sh ip user pw /from /to
if [ $# != 5 ] ; then
	echo "USAGE: $0 ip user pw /from /to"
	echo " e.g.: $0 ip user pw /from /to"
	exit 1;
fi 
IP=$1 #服务器IP      
user=$2 #ftp用户名
password=$3 #ftp密码
fromdir=$4 #源目录
todir=$5 #目的目录

dirs=`find $fromdir -type d -printf $todir/'%P\n'| awk '{if ($0 == "")next;print "mkdir " $0}'` 
files=`find $fromdir -type f -printf 'put %p %P \
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值