Linux文件群发脚本
有时如果想要将一台节点上的内容发送到其它节点上,可以使用rsync命令。
!/bin/bash
##################################################################
##脚本功能:将文件分发到其它节点
##
##示例:xsync 文件名或文件目录
##################################################################STEP1: 获取参数。若没有参数,则返回错误信息,并退出。$#是获取所有参数的个数
if [ $# -lt 1 ];thenecho '至少要传入1个参数!'exit;
fi#STEP2: 遍历集群
for host in hadoop103 hadoop104
doecho ======================= $host ====================#STEP3: 遍历所有文件。$@是获取所有参数for file in $@do#STEP4: 文件是否存在if [ -e $file ];then#STEP5: 获取父目录#dirname是去除文件名中的非目录部分,传入的参数可以是一个绝对路径;pdir=$(cd -P $(dirname $file); pwd)#STEP6: 获取当前文件的名称fname=$(basename $file)#STEP7: SSH到目标节点,创建目录ssh $host "mkdir -p $pdir"#STEP8: 分发文件#a表示递归传输,v表示详细模式输出rsync -av $pdir/$fname $host:$pdirelseecho '$file is not exists!'fidone
done
注意:
- 使用该脚本前最好配置SSH无秘登录,否则需要手动输入密码;
- 该脚本应该放置/bin目录下,并赋执行权限:chmod +x xsync,这样即使是root文件,也可以通过sudo 命令调用传输。
Linux文件群发脚本相关推荐
- linux文件比较脚本,shell脚本之对比不同目录的下的文件
让负责一部分代码的版本,担心公共目录下有人可能会稍微修改部分代码,因此把代码备份到自己的一个目录中,上传svn之前,如果发现公共目录的下的文件被修改,则找出变化部分,避免出现不可知的文件变化. 使用d ...
- Linux环境Shell脚本上传下载阿里云OSS文件
为什么80%的码农都做不了架构师?>>> Linux环境Shell脚本上传下载阿里云OSS文件 背景 工作中由于我们项目生成的日志文件比较重要,而本地磁盘空间有限存储不了多久, ...
- Linux下shel脚本之批量修改文件扩展名
Linux下shel脚本之批量修改文件扩展名 一.脚本要求 二.脚本内容 三.运行脚本 一.脚本要求 二.脚本内容 三.运行脚本 一.脚本要求 1.在/data/tmp/下的所有文件扩展名改为.py ...
- linux配置定时删除日志文件,Linux使用shell脚本定时删除历史日志文件
Linux使用shell脚本定时删除历史日志文件,文件,小时,时间,目录,脚本 Linux使用shell脚本定时删除历史日志文件 易采站长站,站长之家为您整理了Linux使用shell脚本定时删除历史 ...
- 文件监控脚本 -- Linux bash
文件监控脚本 – Linux bash md5算法及生成方式 MD5值等同于文件的ID,它的值是唯一的. 如果文件已被修改(例如嵌入式病毒,特洛伊木马等),其MD5值将发生变化. 因此,一些常规下载U ...
- Linux磁盘空间爆满怎么办?定时文件清理脚本配置实现
在Linux系统上跑任务会遇到系统磁盘空间爆满的情况,表现出来的现象是程序运行报错,或执行缓慢.记录下Linux磁盘空间占用的查看方法和文件清理脚本定时触发配置的实现. 一.Linux磁盘空间占用分析 ...
- windows与Linux实时传输数据,I01 物理隔离条件下Windows与Linux服务器的文件传输脚本...
title: I01 物理隔离条件下Windows与Linux服务器的文件传输脚本author: Adolph Leecategories: 进阶tags: paramiko打怪升级mathjax: ...
- linux怎么运行脚本文件路径,关于linux中执行脚本或程序时指定的路径
假设/mnt/bin 目录下存在一个名为 hello.sh 的可执行文件. 1. 若当前目录是 /mnt/bin ,可以使用 ./hello.sh 来执行这个可执行文件,但是使用 hello.sh 就 ...
- linux给脚本文件赋权限,linux编写.sh脚本并赋权限问题
linux编写.sh脚本并赋权限问题 今日打包编译项目时,发现缺少一个git pull更新项目的脚本,所以在linux编写了一个gitpull.sh脚本,能够实现更新项目的需求. 1.首先vi gi ...
- linux 命令脚本文件,Linux编写shell脚本执行多个命令
背景:Linux做项目写完代码之后,需要用一个文件夹下多个文件进行测试,而且需要对于同一个文件执行多个命令,这个时候如果一个一个命令输入比较繁琐,于是写了一个简单的命令脚本如下: #! /bin/ba ...
最新文章
- Mac下使用Homebrew 安装MySQL
- 深度学习100例-生成对抗网络(DCGAN)手写数字生成 | 第19天
- nothing comes free
- Asp.net中服务端控件事件是如何触发的(笔记)
- watch深度监听数组_vue watch普通监听和深度监听实例详解(数组和对象)
- php一些错误的显示问题
- VirtualBox更改默认路径
- mysql5.7误删管理员root账户ERROR1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: NO)
- .sql文件_优化体系--sql_trace+10046事件(上篇)
- Solidity基础入门知识---函数的访问权限和可见性
- Ruby 2.0 发布首个预览版
- SharePoint 站点集和子站点数据互相读取
- 计算机组成原理:最详细笔记
- 排序(二分插入排序)
- 离散数学与组合数学汇总
- 已解决-Windows10没有windows照片查看器-Windows10打开照片是黑底的
- 技嘉主板前置面板没有声音的解决
- 借助JavaCV实现android手机查看PC摄像头实时视频
- 小米路由器R3G 原厂BootLoader,eeprom备份
- 安装Ubuntu16.04视频播放器smplayer