scp一个文件传多个主机非健壮性脚本

2024-04-17 04:28

本文主要是介绍scp一个文件传多个主机非健壮性脚本,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

服务端部署经常一个文件要传多个主机,expect没怎么接触的人来说,比较晦涩难懂,久不接触的工具也经常忘,rsync则需要服务,服务器更好的支持业务的话,尽量少部署不必要的服务。scp倒是经常用,sshd服务基本是服务器必备的。

系统环境

linux服务器
服务器上有必要的bash命令。
假设当前服务器192.88.88.1上脚本的操作路径有待传输的文件名为redis.ini
我们将要把redis.ini的文件传输到192.88.88.2-15的服务器上。
将下面的bash脚本内容写到一个脚本文件名为doScp.sh

#!/bin/shIPLIST=" "
##IPLIST="${IPLIST} 192.88.88.1"
IPLIST="${IPLIST} 192.88.88.2"
IPLIST="${IPLIST} 192.88.88.3"
IPLIST="${IPLIST} 192.88.88.4"
IPLIST="${IPLIST} 192.88.88.5"
IPLIST="${IPLIST} 192.88.88.6"
IPLIST="${IPLIST} 192.88.88.7"
IPLIST="${IPLIST} 192.88.88.8"
IPLIST="${IPLIST} 192.88.88.9"
IPLIST="${IPLIST} 192.88.88.10"
IPLIST="${IPLIST} 192.88.88.11"
IPLIST="${IPLIST} 192.88.88.12"
IPLIST="${IPLIST} 192.88.88.13"
IPLIST="${IPLIST} 192.88.88.14"
IPLIST="${IPLIST} 192.88.88.15"IPARR=(${IPLIST})
astrFile="redis.ini"
strSAMEDIR="$(pwd)/"
strFROM="scp  -o StrictHostKeyChecking=no ${strSAMEDIR}${astrFile}  $(whoami)@"
strTo=":${strSAMEDIR}"
declen="${#IPARR[@]}"
echo ${declen} ${IPARR[@]}
for(( i=0;i<${declen};i++ ));doapi=${IPARR[i]}echo "${strFROM}${api}${strTo}"${strFROM}${api}${strTo}
done;

将脚本赋予可执行权限
chmod u+x doScp.sh
执行./doScp.sh 再依次按照提示输入对应服务器的口令,观察传输情况

附言

该脚本只是为了加快批操作,不是一个健壮性的可执行脚本,没有进行任何差错检查。不适合服务自动化。只适合专业人士辅助工具脚本。

这篇关于scp一个文件传多个主机非健壮性脚本的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/910776

相关文章

JAVA中安装多个JDK的方法

《JAVA中安装多个JDK的方法》文章介绍了在Windows系统上安装多个JDK版本的方法,包括下载、安装路径修改、环境变量配置(JAVA_HOME和Path),并说明如何通过调整JAVA_HOME在... 首先去oracle官网下载好两个版本不同的jdk(需要登录Oracle账号,没有可以免费注册)下载完

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

利用Python脚本实现批量将图片转换为WebP格式

《利用Python脚本实现批量将图片转换为WebP格式》Python语言的简洁语法和库支持使其成为图像处理的理想选择,本文将介绍如何利用Python实现批量将图片转换为WebP格式的脚本,WebP作为... 目录简介1. python在图像处理中的应用2. WebP格式的原理和优势2.1 WebP格式与传统

Linux脚本(shell)的使用方式

《Linux脚本(shell)的使用方式》:本文主要介绍Linux脚本(shell)的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录概述语法详解数学运算表达式Shell变量变量分类环境变量Shell内部变量自定义变量:定义、赋值自定义变量:引用、修改、删

使用jenv工具管理多个JDK版本的方法步骤

《使用jenv工具管理多个JDK版本的方法步骤》jenv是一个开源的Java环境管理工具,旨在帮助开发者在同一台机器上轻松管理和切换多个Java版本,:本文主要介绍使用jenv工具管理多个JD... 目录一、jenv到底是干啥的?二、jenv的核心功能(一)管理多个Java版本(二)支持插件扩展(三)环境隔

Linux使用scp进行远程目录文件复制的详细步骤和示例

《Linux使用scp进行远程目录文件复制的详细步骤和示例》在Linux系统中,scp(安全复制协议)是一个使用SSH(安全外壳协议)进行文件和目录安全传输的命令,它允许在远程主机之间复制文件和目录,... 目录1. 什么是scp?2. 语法3. 示例示例 1: 复制本地目录到远程主机示例 2: 复制远程主

Python函数返回多个值的多种方法小结

《Python函数返回多个值的多种方法小结》在Python中,函数通常用于封装一段代码,使其可以重复调用,有时,我们希望一个函数能够返回多个值,Python提供了几种不同的方法来实现这一点,需要的朋友... 目录一、使用元组(Tuple):二、使用列表(list)三、使用字典(Dictionary)四、 使

Golang实现Redis分布式锁(Lua脚本+可重入+自动续期)

《Golang实现Redis分布式锁(Lua脚本+可重入+自动续期)》本文主要介绍了Golang分布式锁实现,采用Redis+Lua脚本确保原子性,持可重入和自动续期,用于防止超卖及重复下单,具有一定... 目录1 概念应用场景分布式锁必备特性2 思路分析宕机与过期防止误删keyLua保证原子性可重入锁自动

CentOS和Ubuntu系统使用shell脚本创建用户和设置密码

《CentOS和Ubuntu系统使用shell脚本创建用户和设置密码》在Linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设置密码,本文写了一个shell... 在linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设

redis中使用lua脚本的原理与基本使用详解

《redis中使用lua脚本的原理与基本使用详解》在Redis中使用Lua脚本可以实现原子性操作、减少网络开销以及提高执行效率,下面小编就来和大家详细介绍一下在redis中使用lua脚本的原理... 目录Redis 执行 Lua 脚本的原理基本使用方法使用EVAL命令执行 Lua 脚本使用EVALSHA命令