在服务器间传输文件

news/2024/10/27 17:43:38/

标题scp(secure copy)安全拷贝

scp(secure copy)安全拷贝可以灵活的使用,能够在服务器间传输文件,语法如下:

scp -r $pdir/$fname $user@$host:$pdir/$fname
命令 递归 要拷贝的文件路径/名称 目的地用户@主机:目的地路径/名称

假设有a ,b,c 三台机器,
既可以在a上,通过下列命令将a上的/opt/jdk1.8文件递归传到b上的/opt/module/文件夹下,

scp -r  /opt/jdk1.8/    $user@$b的host:/opt/module

也可以在b上通过下列命令从a上拉取文件

scp -r  $user@$a的host:/opt/jdk1.8/    /opt/module

还可以在c上通过下列命令将a上的文件传到b上

scp -r  $a的user@$a的host:/opt/jdk1.8/    $b的user@$b的host:/opt/module

rsync 远程同步工具

rsync 主要用于备份和镜像。具有速度快、避免复制相同内容和支持符号链接的优点。
rsync 和 scp 区别:用 rsync 做文件的复制要比 scp 的速度快,rsync 只对差异文件做更
新。scp 是把所有文件都复制过去。
基本语法

命令 选项参数 要拷贝的文件路径/名称 目的地用户@主机:目的地路径/名称
rsync -av $pdir/$fname $user@$host:$pdir/$fname

其中参数含义:
-a 归档拷贝
-v 显示复制过程

使用起来和scp语法相似。

基于rsync 编写一个集群文件分发脚本

需求:循环复制文件到所有集群节点的相同目录下
集群节点的ip地址由于已经在linux 的hosts文件中映射,所以这里用hostname替代,现有的集群节点包括 dev01,dev02,dev03,那么对应的脚本如下:

#!/bin/bash
#1. 判断参数个数
if [ $# -lt 1 ]
thenecho Not Enough Arguement!exit;
fi
#2. 遍历集群所有机器
for host in dev01 dev02 dev03
doecho ==================== $host ====================#3. 遍历所有目录,挨个发送for file in $@do#4. 判断文件是否存在if [ -e $file ]then#5. 获取父目录pdir=$(cd -P $(dirname $file); pwd)#6. 获取当前文件的名称fname=$(basename $file)ssh $host "mkdir -p $pdir"rsync -av $pdir/$fname $host:$pdirelseecho $file does not exists!fidone
done

为了让脚本能直接使用,应该放在包含进了环境变量的目录下,可以echo $PATH看下,然后放在某个bin下面。


http://www.ppmy.cn/news/103859.html

相关文章

进程控制与进程调度 —— 时间片轮转调度算法(C++版)

目录 实验一 进程控制与进程调度 一、实验目的 二、实验内容 三、数据结构及符号说明 四、运行环境说明 五、代码段 六、 效果展示 实验一 进程控制与进程调度 备注:大二(下)操作系统实验一 一、实验目的 掌握进程状态的转变、…

电子科技大学编译原理复习笔记(五):词法分析

目录 前言 重点一览 词法分析概述 词法分析的功能 词法分析器的输出形式 词法分析器的结构 状态转换图 状态转换图的构造 词法分析器的设计 基本结构 内容 符号表 目的 组成 在词法分析中的作用 符号表的一般形式 常用的符号表结构 总结与补充 为何分离词法…

Linux— 网络编程套接字

目录 预备知识 认识端口号 理解源端口号和目的端口号 认识TCP协议 认识UDP协议 网络字节序 socket编程接口 socket 常见API sockaddr结构 sockaddr 结构​编辑 sockaddr_in 结构 in_addr结构 地址转换函数 简单的UDP网络程序 实现一个简单的英译汉的功能 简易的远程…

【Linux】信号的处理

信号篇终章 文章目录 前言一、信号的处理 1.可重入函数 2.volatile关键字 3.SIGCHLD信号总结 前言 在前两篇linux文章中我们详细的讲解了信号的产生和信号的保存,今天来到最后一个重点信号的处理,对于信号的处理我们会重新引入进程…

将文件base64编码后传输

本文与另一篇--<<将文件base64解码后输出>>搭配使用1.定位文件所在的位置2.将文件File类型转化为MultipartFile3.将MultipartFile转化为字节流4.将字节流base64加密Test public void testFile() throws Exception{File file new File("C:\\Users\\scz\\Deskt…

java 代码调用gc回收资源

Java的公有API可以主动调用GC的有两种办法&#xff0c;一个是 System.gc(); // 或者下面&#xff0c;两者等价 Runtime.getRuntime().gc();

STL 函数对象,即仿函数

目录 1.函数对象 1.1函数对象的概念 1.2函数对象的使用 2.谓词 2.1谓词概念 2.2一元谓词 2.3二元谓词 3.内建函数对象 3.1内建函数对象的意义 3.2算术仿函数 3.3关系仿函数 3.4逻辑仿函数 1.函数对象 1.1函数对象的概念 1.2函数对象的使用 #include<iostream>…

Redis缓存一致性问题及解决方案

对于没有并发的用户请求 先更新缓存&#xff0c;后更新数据库先更新数据库&#xff0c;后更新缓存 两者第二步没成功&#xff0c;都有问题 如果更新缓存成功&#xff0c;更新数据库没成功&#xff0c;一旦缓存失效&#xff0c;读取的仍是旧值如果更新数据库成功&#xff0c;…