rsync

hadoop(六)rsync远程同步|xsync集群分发(完全分布式准备三)|8

元气小坏坏 提交于 2020-04-24 03:10:17
前置环境准备: centos7克隆ip|机器名|映射关系|别名配置(hadoop完全分布式准备一) scp命令copy文件和配置(hadoop完全分布式准备二) rsync远程同步工具 优点 rsync主要用于备份和镜像。具有速度快、避免复制相同内容和支持符号链接的优点。 rsync和scp区别:用 rsync做文件的复制要比scp的速度快, rsync只对差异文件做更新。scp是把所有文件都复制过去。 基本语法 rsync -rvl $pdir/$fname $user(@hadoop$host: $pdir/$fname 命令 选项参数 要拷贝的文件路径/名称 目的用户@主机:目的路径名称 选项参数说明 选项 功能 -r 递归 -v 显示复制过程 -l Copy符号链接 案例 将hadoop101机器上的/opt/software 同步到hadoop102的服务器上的对应目录下。 [shaozhiqi@hadoop101 ~]$ rsync -rvl /opt/software shaozhiqi@hadoop102 :/opt/ shaozhiqi@hadoop102 's password: \sending incremental file list software/hadoop-3.1.2.tar.gz software/jdk-8u211-linux-x64.tar

Centos7利用rsync实现文件同步

一个人想着一个人 提交于 2020-04-24 03:09:36
0x01 测试环境 CentOS 7.4 Rsync服务端: 192.168 . 204.130 CentOS 7.4 Rsync客户端: 192.168 . 204.168 0x02 rsync同步方式 第一种方式:rsync通过ssh方式同步 1、Rsync服务端和客户端都需要安装rsync [root@localhost ~]# yum -y install rsync 2、使用 前提:需知道远程服务器开启ssh端口和账号密码 A、推文件: [root@localhost tmp]# rsync -av /etc/passwd 192.168 . 204.168 :/tmp/passwd.txt B、拉文件 [root@localhost tmp]# rsync -av 192.168 . 204.168 :/tmp/passwd.txt /tmp/test.txt #指定ssh端口 [root@localhost tmp]# rsync -av -e " ssh -p 22 " 192.168 . 204.168 :/tmp/passwd.txt /tmp/a.txt 第二种方式:rsync通过服务的方式同步 服务端配置: 1、编辑配置文件/etc/rsyncd.conf motd file = /etc/ rsyncd.motd transfer logging =

CentOS7配置rsync实现文件同步

ぃ、小莉子 提交于 2020-04-24 02:01:46
rsync(remote synchronize )是一个远程文件同步工具,支持多个操作系统,用于在多台服务器之间同步目录和文件。rsync采用增量传输文件的方法,只传输新文件和修改过的文件,而不是每次都全部传输,效率比较高。 rsync有以下特点: 1)支持目录和文件的上传和下载功能; 2)可以镜像保存整个目录树和文件系统; 3)传输效率高,只传输新增和修改过的文件。 一、安装软件包 rsync的客户端和服务器软件的安装包都是rsync。 yum -y install rsync 二、修改系统配置 1、关闭SELINUX 修改/etc/selinux/config文件,把SELINUX参数的值改为disabled。 SELINUX =disabled 重启linux系统或执行 setenforce 0 使修改马上生效。 2、开通防火墙端口 rsync缺省的端口是873,您可以修改配置文件中的端口。 1)防火墙开通873端口。 firewall-cmd --zone=public --add-port=873/tcp --permanent 2)重启防火墙。 systemctl restart firewalld 3、启用rsyncd服务 rsync的服务名是rsyncd。 1)启动rsyncd服务。 systemctl start rsyncd 2

ansible批量管理服务 上

我只是一个虾纸丫 提交于 2020-04-22 02:44:25
<a name="2en38"></a> 1 ansible简介 <a name="E3lJ3"></a> 1.1 ansible批量管理服务概述 (1)是基于python语言开发的自动化软件工具<br />(2)是基于SSH远程管理服务实现远程主机批量管理<br />(3)并行管理,部署简单,应用也简单方便 <a name="AtFJV"></a> 1.2 ansible批量管理服务意义 (1)提高工作的效率<br />(2)提高工作的准确度<br />(3)减少维护的成本<br />(4)减少重复性工作 <a name="KOdqg"></a> 1.3 ansible批量管理服务功能 (1)可以实现批量系统操作配置<br />(2)可以实现批量软件服务部署<br />(3)可以实现批量文件数据分发<br />(4)可以实现批量系统信息收集 <a name="5kPYj"></a> 1.4 ansible批量管理服务特点 (1)管理端不需要启动服务程序(no server)<br />(2)管理端不需要编写配置文件(/etc/ansible/ansible.cfg)<br />(3)受控端不需要安装软件程序(libselinux-python)<br />(4)受控端不需要启动服务程序(no agent=无代理)<br />(5)服务程序管理操作模块众多(module)<br /

Linux 下面删除指定日期之前文件的办法

僤鯓⒐⒋嵵緔 提交于 2020-04-20 01:41:03
1. Linux 下面最近有一个需求 需要只更新2020年4月10号之后补丁的需求 2. rsync 能够拉取所有的补丁文件 没找到能够按照日期进行拉取的办法. 所以想了一个折中的办法 先拉取 再按照时间进行删除 注意 rsync 时需要使用 -rpt 的语法保证文件日期不发生变化 rsync -rpt /在测补丁/* --include="Cloud30GL*" --exclude=* /gscloud/tools/patchinstall/patchfiles/   3. 这里其实是使用一种其他的方法来搞定 find 加日期的方式 首先需要创建一个文件日期未指定日期的文件 touch -mt 202004100101 /deploy/ 0410 创建一个 日期为0401 日期的文件 find 有一个语法能够查出比这个文件更新的文件 加上一个 ! 就可以去比这个文件旧的文件 所以办法就很明显了 cd 到指定目录 find ! -newer /deploy/ 0410 |xargs rm -rf 发现这个方法最简单了. 来源: oschina 链接: https://my.oschina.net/u/4375265/blog/3274986

可以热爱生活,也可以追求想要的生活(第十八周)

霸气de小男生 提交于 2020-04-15 16:23:22
【推荐阅读】微服务还能火多久?>>> 一、 实现基于MYSQL验证的vsftpd虚拟用户访问 环境:两台主机,一台ftp服务器192.168.1.17, 一台mysql server服务器192.168.18配置数据库 1、准备数据库 yum install mariadb-server systemctl restart mariadb systemctl enable mariadb 入数据库,并且创建create database vsftpd; 创建用户,并在用户数据库vsftpd下创建表ftpusers; 2、编译安装在FTP 服务器上。 yum install gcc gcc-c++ pam-devel mariadb-devel tar xf pam_mysql-0.7RC1.tar.gz cd pam_mysql-0.7RC1/ ./configure --with-pam-mods-dir=/lib64/security make && make install ll /lib64/security/ 注:这一步需要编译安装,安装好环境就可以进行make了 3、配置vsftpd服务。 vim /etc/pam.d/vsftpd.mysql 建立相应用户和修改vsftpd配置文件,使其适应mysql认证,建立虚拟用户映射的系统用户及对应的目录 useradd -s

如何实现Git服务间同步

人走茶凉 提交于 2020-04-14 10:54:19
【推荐阅读】微服务还能火多久?>>> 好久没写博客了,虽然也没写几篇^_^...露个脸,表示还活跃在互联网行业中...不说没用的了,分享一下如何实现Git服务间的同步。 Git服务我们一般多会使用gitlab-rake工具定时做备份,当出现问题时利用备份恢复,那是否有一种需求是另外一个环境也需要部署一套Git服务,且需要和前一套Git服务去同步的,即使做冷备,既省去了恢复时间,也达到了定时做恢复演练的目的。 目前我们另外一个环境就遇到了这样的需求,当然可以研究学习Git API去实现,但由于目前需求对同步实时性要求不高,于是我准备用一个直接简单粗暴的方式来实现,其实就是拿Git备份去另外一套环境做自动恢复,交互问题我们交给expect工具来解决。 下面分别分享下Python和Shell脚本作为参考学习,同步时间则可以调整定时备份的时间及恢复时间即可,内容大同小异,思路基本一致: #!/usr/bin/python # -*- coding: utf-8 -*- import os import sys import pexpect import paramiko # 备份服务器的IP地址、用户名 git_src_host = "xxx.xxx.xxx.xxx" git_src_user = "xxx" git_src_port = "22" # 地址自行根据环境变更 private

每天3分钟操作系统修炼秘籍(26):Linux进程调度和调整优先级

前提是你 提交于 2020-04-13 20:22:23
【今日推荐】:为什么一到面试就懵逼!>>> 点我查看秘籍连载 Linux的进程调度和调整优先级 关于进程调度,应该时刻记住的是,对于我们用户来说,进程的调度完全可以看作是随机的,因为我们根本不知道下一个要调度到哪个进程。在分析多进程或多线程问题时,调度到哪个进程并不重要,重要的是进程调度的不确定性和随机性造成的影响。 在此前提下,再来了解下Linux中的进程调度器。 Linux系统中的调度器基于调度类实现,每个调度类都可以使用不同的调度算法。自Linux 2.6.23开始,标准Linux支持两种调度类:完全公平调度算法(Completely Fair Scheduler,CFS)和实时调度类(real-time scheduling class)。在Linux 2.6.23之前使用过多个调度算法,比如很长一段时间使用的是实时调度类,从2.6.23开始,已经使用CFS作为默认的调度算法。当然,Linux内核还支持其它调度算法。 无论使用什么调度算法,对使用Linux系统的用户来说,都无法直接让调度器去决定优先调度哪个进程,因为调度对用户来说是未知的。但是,用户可以通过修改优先级间接地影响Linux的调度器:优先级越高,越有可能先被调度到,优先级越低,越后被调度到。 此外,对于成熟的抢占式调度算法来说,改变进程优先级,都会影响为进程分配的时间片长度。根据之前对多级反馈队列调度算法的分析

修改shell命令提示符和命令的输入颜色

怎甘沉沦 提交于 2020-04-13 15:54:16
【今日推荐】:为什么一到面试就懵逼!>>> 修改命令提示符颜色 修改命令提示符的话,只需修改PS1环境变量即可。 PS1='\[\033[01;31m\][\u@\h \W]$ \[\033[00m\]' 效果如图: 修改命令输入的颜色 修改命令输入的颜色,思路是不关闭PS1的颜色,然后在每次敲下回车键执行命令的时候自动插入颜色终止符。这需要借助trap捕获DEBUG信号来实现。 PS1='\[\033[01;31m\][\u]$ \[\033[1;30m\]' trap 'echo -ne "\e[0m"' DEBUG 如果要写入shell配置文件,建议写到 ~/.bash_profile ,而不要写入 ~/.bashrc ,否则借助ssh类的工具都将因为trap DEBUG信号的特殊性而无限等待,比如scp/rsync等。或者,直接判断是否是交互式登录,是的话就设置,否则不设置: if [ "${-#*i}" != "$-" ];then # interactively shell PS1='\[\033[01;31m\][\u@\h \W]$ \[\033[1;30m\]' trap 'echo -ne "\e[0m"' DEBUG fi 来源: oschina 链接: https://my.oschina.net/u/4321646/blog/3232922

hbase:用于实现版本文件及配置同步的两个shell脚本

落爺英雄遲暮 提交于 2020-04-07 03:26:15
复制master节点上的版本内容到所有slaves节点上 注意: 1:版本目录做了软链接,如 ln -s hbase-0.94.6 hbase 2: 要根据实际情况,将/usr/local/修改为hbase所在的目录 #!/bin/bash # copy a new release of HBase from the masternode to all slave nodes # Rsyncs HBase files across all slaves. Must run on master. # Assumes all files are located in /usr/local if [ "$#" != "2" ]; then echo "usage: $(basename $0) <dir-name> <ln-name>" echo " example: $(basename $0) hbase-0.1 hbase" exit 1 fi SRC_PATH="/usr/local/$1/conf/regionservers" for srv in $(cat $SRC_PATH); do echo "Sending command to $srv..."; rsync -vaz --exclude='logs/*' /usr/local/$1 $srv:/usr/local/