linux实用的脚本:xcall(同步执行命令)与xsync(同步文件目录)
一.同步文件/目录脚本(xsync)
- 将文件或目录同步到集群的其他节点
- 在使用之前,所有节点均需要安装
rsync
服务(yum install rsync -y
) - 建议创建脚本目录为:
/usr/local/bin
shell脚本
#!/bin/bash# 获取输出参数,如果没有参数则直接返回
pcount=$#
if [ $pcount -eq 0 ]
thenecho "no parameter find !";exit;
fi# 获取传输文件名
p1=$1
filename=`basename $p1`
echo "load file $p1 success !"# 获取文件的绝对路径
pdir=`cd -P $(dirname $p1); pwd`
echo "file path is $pdir"# 获取当前用户(如果想使用root用户权限拷贝文件,在命令后加入-root参数即可)
user=$2
case "$user" in
"-root")user="root";;
"")user=`whoami`;;
*)echo "illegal parameter $user"esacecho $user
# 拷贝文件到从机(这里注意主机的host需要根据你的实际情况配置,要与你具体的主机名对应)
for (( host=1;host<=3;host++ ))
doecho "================current host is node0$host================="rsync -rvl $pdir/$filename $user@node0$host:$pdir
doneecho "complate !"
示例
二.同步执行命令脚本(xcall)
- 在一个节点上输入命令可以同步到其余节点执行
- 建议创建脚本目录为:
/usr/local/bin
shell脚本
#!/bin/bash# 获取控制台指令cmd=$*# 判断指令是否为空
if [ ! -n "$cmd" ]
thenecho "command can not be null !"exit
fi# 获取当前登录用户
user=`whoami`# 在从机执行指令,这里需要根据你具体的集群情况配置,host与具体主机名一致,同上
for (( host=1;host<=3;host++ ))
doecho "================current host is node0$host================="echo "--> excute command \"$cmd\""ssh $user@node0$host $cmd
doneecho "excute successfully !"
示例
使用xcall脚本让所有节点使用阿里云同步时间。
参考链接:https://alice.blog.csdn.net/article/details/104439628
linux实用的脚本:xcall(同步执行命令)与xsync(同步文件目录)相关推荐
- Linux 实用小脚本7(各种方法添加用户)
Linux 实用小脚本7(各种方法添加批量用户,用户存在就提示,不存在就添加) 前言: shell脚本的主要作用就是提升运维效率,用户对运维工作来说,通常是环境 ...
- Linux系统Shell脚本中的echo命令
Linux系统Shell脚本中的echo命令 echo的作用 输出字符串 格式 echo "字符串内容" 一,显示转义字符 转义字符 ...
- unity连接linux服务器,C#编程之C#通过SharpSSH库与Linux服务器建立SSH连接并执行命令...
本文主要向大家介绍了C#编程之C#通过SharpSSH库与Linux服务器建立SSH连接并执行命令,通过具体的内容向大家展示,希望对大家学习C#编程有所帮助. 在Unity3D项目开发工具时需要用到S ...
- 详解在 Linux 启动时,如何自动执行命令或脚本
2019独角兽企业重金招聘Python工程师标准>>> 我一直很好奇,在启动 Linux 系统并登录的过程中到底发生了什么事情.按下开机键或启动一个虚拟机,你就启动了一系列事件,之后 ...
- linux脚本里调执行命令,使用shell的-n/-x/-x执行选项调试Shell脚本
我们在前面介绍的调试手段是通过修改shell脚本的源代码,从其输出相关的调试信息来定位错误的,那有没有不修改源代码来调试shell脚本的方法呢?有的,那就是使用shell的执行选项,下面将介绍一些常用 ...
- asp 执行linux脚本,Shell.Application执行命令的五种方法小结
当初老马写这个版本时,我测试过简繁两个2003版本的,当是是好用的.我猜测很可能与2003打了ms06014补丁有关.kyo在冰点论坛提出了解决方法,我今天下午研究了一下这个组件,发现它有5种方法可以 ...
- 查看linux中的sh指向哪,什么是Linux的Shell脚本和怎么执行脚本?
1.什么是Shell?shell shell是外壳的意思,就是操做系统的外壳.咱们能够经过shell命令来操做和控制操做系统,好比Linux中的Shell命令就包括ls.cd.pwd等等.总结来讲,S ...
- Linux执行命令提示Password,linux expect远程自动登录以及执行命令
linux远程自动登录以及执行命令 远程登录 该自动登录的过程是通过shell里面expect实现的,类似相当于开了一个类似于cmd的命令段输出IP和密码. 注意该脚本能够执行的前提是安装了expec ...
- 什么是Linux的Shell脚本和怎么执行脚本?
一.什么是Shell? shell是外壳的意思,就是操作系统的外壳.我们可以通过shell命令来操作和控制操作系统,比如Linux中的Shell命令就包括ls.cd.pwd等等.总结来说,Shell是 ...
最新文章
- pyqt5中sender方法介绍_【第五节】PyQt5事件和信号
- Wannafly挑战赛17 - 走格子(模拟)
- 如何彻底删除SVN中的文件和文件夹(附恢复方法)
- ActiveMq使用笔记
- 4.3串的模式匹配算法(BF算法)
- 静态链表相关算法学习
- php 中抽象类的作用,解释PHP中的抽象类。
- java-读取xml
- 【元胞自动机】基于matlab元胞自动机模拟小区车流量【含Matlab源码 358期】
- rootkit后门检测工具rkhunter
- oAuth2.0店铺订单接口,获取单笔交易的详细信息api接口
- 计算机图片组合快捷键,电脑高手常用的组合快捷键
- 赛尔号星球大战游戏攻略
- DLang、Rust 以及 Golang 对比数据库操作方式
- 行业分析报告|全球与中国项目货物物流市场现状及未来发展趋势
- char类型数据说明
- 使用RecyclverView和SwipeRefreshLayout实现下拉刷新和上拉加载效果
- 双下划线一粗一细怎么加_为什么下划线粗细不一样
- [书蕴笔记-2]使用word2vec模型迭代获取标签
- 拍案叫绝的情报分析之图片挖掘