在脚本中运用rsync——使用服务的方式进行同步

rsync以服务方式同步

环境:192.168.1.223和192.168.1.200主机ip
在192.168.1.223服务端上,编辑/etc/rsyncd.conf配置文件

port=873
log file=/var/log/rsync.log
pid file=/var/run/rsyncd.pid
address=192.168.1.223
[path]
path=/usr/local/src/tmp
use chroot=true
max connections=4
read only=no
list=false
uid=root
gid=root
auth users=user
secrets file=/etc/rsyncd.passwd
hosts allow=192.168.1.200

启动rsync服务,rsync服务同步文件时需要停止firewalld、iptables或放行配置文件中定义的873端口,启动rsync服务: rsync --daemon

[[email protected] tmp]# systemctl stop firewalld
[[email protected] tmp]# rsync --daemon

在192.168.1.200上推送同步一个文件或推送同步目录,这里同步的是一个文件,::两个冒号表示指定模块,模块设定了传输的文件路径,传输时使用模块名代替详细的目录路径

----------------------推送文件到服务端
[[email protected] src]# rsync -avP /usr/local/src/tmp/1.txt 192.168.1.223::path/1-2.txt
sending incremental file list
1.txt
           0 100% 0.00kB/s 0:00:00 (xfer#1, to-check=0/1)

sent 65 bytes received 27 bytes 184.00 bytes/sec
total size is 0 speedup is 0.00
---------------------拉取服务端的文件,可以是拉取目录
[[email protected] tmp]# rsync -avP  192.168.1.223::path/jisuan.py /usr/local/src/tmp/
receiving incremental file list
jisuan.py
         278 100%  271.48kB/s    0:00:00 (xfer#1, to-check=0/1)

sent 42 bytes  received 367 bytes  818.00 bytes/sec
total size is 278  speedup is 0.68
[[email protected] tmp]# ls
1.txt  jisuan.py

配置文件中配置项的解释

prot:指定rsync服务运行的端口,默认是873
log file:指定日志文件存储的路径
pid file:指定pid文件,这个文件涉及服务启动、停止进程等管理操作
address : 指定rsync服务的IP ,如果服务器上有多个IP,可以指定一个IP作为rsync服务的ip,不指定ip则是在该服务器所有的ip地址上提供服务
[] 模块名称,自定义,可代替详细目录路径
path : 指定同步数据存放的目录路径
use chroot:(false|true) 在传输文件时首先chroot到path参数所指定目录下,传输数据时会在服务端把所有传输文件限制在path设置的目录下,如果path设置的目录中有软连接文件时,且软连接在path设定的目录以外的其他目录下,则不能同步该软连接的源文件,同时导致同步出错,如果同步的数据中有软连接文件时,建议设置成false(否,假)
max connections 指定最大链接数,默认0,没有限制
read only ture|false 如果为true 则不能同步数据到该模块设置的目录下(是|否)
list 当用户查询服务器上的模块时,是否列出显示,设定为true(是)表示列出,false(否)不列出
uid/gid 用于指定同步时是以哪个用户和组身份传输,同步存储的话设置的用户必须对存储的目录有读写权限,否则不能同步
auth users 在服务端指定同步时认证使用的用户
secrets file 在服务端指定同步时使用用户的密码文件路径,如果不指定则表示不使用密码验证,密码权限修改为600,只让root用户可读,用户密码写入格式为:user:password
hosts allow 指定允许访问链接的主机,可以设置为ip或一个ip网段,多个ip使用空格隔开
客户端同步推送及拉取时可以指定服务端设定的用户认证的密码,用于脚本不能交互输入的需求,该密码文件存储在客户端上,为了安全起见将其设置为仅root可读的600权限

客户端无交互式使用用户密码认证同步

客户端指定密码同步,服务端不想使用输入面交互需要将服务端设置的认证用户的密码存储到本地的一个目录下,这里是存在了/etc/rsync-pass这个文件中,直接写入认证用户的密码,文件权限需要设置为600,执行rsync同步如下:
rsync -avL [email protected]::path/Python* /usr/local/src/tmp/ --password-file=/etc/rsync-pass

[[email protected] tmp]# rsync -avL [email protected]::path/Python* /usr/local/src/tmp/ --password-file=/etc/rsync-pass
receiving incremental file list
Python-3.7.0.tgz

sent 42 bytes received 22751371 bytes 9100565.20 bytes/sec
total size is 22745726 speedup is 1.00
[[email protected] tmp]# ls
1.txt jisuan.py Python-3.7.0.tgz
[[email protected] tmp]# cat /etc/rsync-pass
1234567

linux系统日志

/var/log/messages日志,系统中记录开机启动加载信息、用户登录信息、网络、内核等记录
系统中存有一个日志切割机制,日志的滚动,在增长到一定级别了,就会自动切割

dmesg命令

dmesg命令会把系统硬件相关的日志列出来,这个日志是保存在内存中的,并不是一个文件

假如你的网卡有问题了,硬盘损坏了,都会记录在这个日志中

dmesg -c //清空当前日志,但是一重启这个系统,又会生成这些日志

/var/log/dmesg日志文件

/var/log/dmesg 这是一个日志文件,这个日志文件和 dmesg命令 没有任何关联,它是系统启动的一个日志,记录的信息

last命令

last命令,查看你正确的登录历史,调用的文件/var/log/wtmp

记录是是谁,在哪里,来源IP,时间,登录的时长都会有记录

/var/log/wtmp日志是一个二进制文件,不能直接cat查看的,只能用last命令去查看

lastb命令
lastb命令,查看登录失败的用户,对应的文件时/var/log/btmp 日志

/var/log/btmp也是二进制文件,不能直接cat的

screen工具
安装screen:yum install -y screen
直接执行screen打开一个虚拟的终端
挂起screen到后台执行,按ctrl+a,然后按d可挂起到后台执行
查看并进入打开的screen虚拟终端内,-r指定screen的id

[[email protected] tmp]# screen -ls
There is a screen on:
 13061.pts-0.localhost  (Detached)
1 Socket in /var/run/screen/S-root.
[[email protected] tmp]# screen -r 13061
[screen is terminating

创建一个自定义的screen运行的ID名称,方便记忆这个screen进程运行的是哪种任务
screen -S "自定义易识别的ID名"
secreen -r ?id或自定义名可进入虚拟的screen终端

原文地址:http://blog.51cto.com/8844414/2147358

时间: 2024-08-30 03:55:04

在脚本中运用rsync——使用服务的方式进行同步的相关文章

Shell脚本中执行mysql的几种方式(转)

Shell脚本中执行mysql的几种方式(转) 对于自动化运维,诸如备份恢复之类的,DBA经常需要将SQL语句封装到shell脚本.本文描述了在Linux环境下mysql数据库中,shell脚本下调用sql语句的几种方法,供大家参考.对于脚本输出的结果美化,需要进一步完善和调整.以下为具体的示例及其方法. 1.将SQL语句直接嵌入到shell脚本文件中 复制代码 代码如下: --演示环境   [[email protected] ~]# more /etc/issue   CentOS rele

rsync通过服务的方式同步、linux系统日志、screen工具

rsync通过服务的方式同步 如果不想输入密码的方式如下: linux系统日志 screen工具 原文地址:http://blog.51cto.com/13515599/2071880

CentOS 7.2 部署Rsync + Lsyncd服务实现文件实时同步/备份 (三)

配置过程中遇到的错误与查看日志 以下错误是在服务正常开启的情况下发生的,请先查看服务是否正常启动. 一.错误 1. rsync: failed to set times on "." (in backup): Permission denied (13) 更新.文件的时间失败:原因是权限不够. 此处为selinux权限限制,临时更改为setenforce 0,永久更改为修改/etc/sysconfig/selinux, 将 SELINUX=enforcing 修改为 SELINUX=d

centos7中配置rsync+inotify实现自动监控数据同步

rsync服务可以实现数据的同步,但不是自动同步,所以在一些网站服务等, 需要用到inotify进行自动监控. 实验环境:centos7 两台 能互相ping通对方.一台为源端,一台为发起端. 该实验博主源端地址:192.168.60.135 发起端地址:192.168.60.136 http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz 这是inotify网址,进网站响应很慢,耐心等待. 一.源

rsync 通过服务的方式同步

基于c/s架构,客户端.服务端.服务端开启服务,rsync,监听端口873,端口可自定义,要编辑配置文件/etc/rsyncd.conf rsyncd.conf样例port=873 #监听端口,可自定义,改完端口得重启log file=/var/log/rsync.log #指定日志文件pid file=/var/run/rsyncd.pid #指定pid文件,这个文件的作用涉及服务的启动.停止等进程管理操作.address=192.168.133.130 #绑定了ip地址,如果不绑定,则是0.

CentOS 7.2 Ubuntu 18部署Rsync + Lsyncd服务实现文件实时同步/备份

发送端配置: 一.配置密钥 1. 主/从服务器之间启用基于密钥的身份验证.登录发送端服务器并用 " ssh-keygen " 命令生成公共或私有的密钥. 2. 使用 " ssh-copy-id " 复制密钥文件到接收端服务器. ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected] 把生成的公钥发送到对方的主机上去,用ssh-copy-id命令,自动保存在对方主机的/root/.ssh/authorized_ke

CentOS 7.2 部署Rsync + Lsyncd服务实现文件实时同步/备份 (一)

接收端配置: 1.安装rsync yum -y install rsync 2.配置同步模块 1. 编辑同步配置文件 vi /etc/rsyncd.conf 2. 同步模块配置参数 # any name you like [backup] # destination directory for copy path = /usr/blues # hosts you allow to access hosts allow = 192.168.16.143 hosts deny = * list =

linux中部署rsync实现文件远程备份及同步

原文链接:https://blog.csdn.net/ljihe/article/details/52276889 常用指令参考:https://www.cnblogs.com/f-ck-need-u/p/7220009.html 原文地址:https://www.cnblogs.com/gavinyyb/p/9000462.html

使用ASP.NET AJAX 从脚本中调用Web 服务的应用方法

技能点:通过编写WebService,在页面js中调用WebService来进行数据查询. 网站开发,有些时候需要使用js在页面动态生成一些内容,但还有些数据要通过查询数据库才能获取的. 但由于诸如主键id等一些关键数据在后台不易获取,或在后台获取数据后不易直接在前台通过js使用. 这种情况下,使用js+ajax的方式来实现,效果也是不错的. 1.编写webservice: 1 using System; 2 using System.Collections.Generic; 3 using S