脚本文件基于rsync工具快速分发目录或文件到其他服务器节点踩过的坑

脚本文件基于rsync工具快速分发目录或文件到其他服务器节点踩过的坑

1. cd -P 注意此处得是大写P,不可以是小写
2. 获取文件名或路径名时,不可用’ ’ ,得用$(),如下所示

错误写法
在这里插入图片描述

正确写法
在这里插入图片描述
完整的脚本文件

#!/bin/bash
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if ((pcount==0)); then
echo no args;
exit;
fi


#2 获取文件名称
p1=$1
fname=$(basename $p1)

echo $fname


#3 获取上级目录到绝对路径
pdir=$(cd -P $(dirname $p1); pwd)
echo $pdir


#4 获取当前用户名称
user=$(whoami)

#5 循环

for((host=1; host<4; host++)); do
        echo ------------- node0$host --------------
        rsync -av $pdir/$fname $user@node0$host:$pdir
done
#Note:这里的node0对应自己主机名,需要做相应修改。另外,for循环中的host的边界值由自己的主机编号决定。
#最后chmod 777 xsync给文件添加执行权限即可。
#使用xsync filename就能将filename分发到集群中的各个节点中。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
可以使用`rsync`命令和`ssh`命令来实现在多台 Linux 服务器之间并行拷贝文件文件夹。 `rsync`是一个优秀的文件同步工具,可以快速的将本地或远程服务器文件同步到其他服务器上,同时它可以使用 SSH 连接进行加密传输,确保数据传输的安全和完整性。 以下是一个示例脚本,可以并行地将文件文件夹拷贝到多个目标服务器上: ```bash #!/bin/bash # 源文件目录 src="source-dir" # 目标服务器的 IP 地址或域名 hosts=("server1" "server2" "server3") # 目标服务器的用户名 user="username" # 目标服务器的目标路径 dest="destination-dir" # 并行执行 rsync 命令 for host in "${hosts[@]}"; do ssh "$user@$host" "mkdir -p $dest && rsync -avz $src/ $user@$host:$dest/" & done # 等待所有任务完成 wait ``` 在这个脚本中,`src` 变量是需要拷贝的源文件目录,`hosts` 变量是一个包含目标服务器 IP 地址或域名的数组,`user` 变量是目标服务器的用户名,`dest` 变量是目标路径。该脚本通过 SSH 连接到每个目标服务器,并在后台运行 `rsync` 命令来完成拷贝任务。`wait` 命令用于等待所有任务完成后再结束脚本执行。 需要注意的是,该脚本需要在执行之前确保已经配置好了 SSH 免密登录,否则需要手动输入密码进行登录。同时,如果文件文件夹较大,可能需要增加 `rsync` 命令的额外选项来加速拷贝,例如使用 `--progress` 显示进度信息,或使用 `--partial` 支持断点续传等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值