任务:

10.28 rsync工具介绍
10.29/10.30 rsync常用选项
10.31 rsync通过ssh同步
10.32/10.33 rsync通过服务同步
10.34 linux系统日志
10.35 screen工具

扩展

  1. Linux日志文件总管logrotate http://linux.cn/article-4126-1.html
  2. xargs用法详解

rsync工具

Linux系统下有很多数据备份工具, 常用的是rsync,从字面意思理解为remote sync (远程同步). rsync不仅可以远程同步数据(类似于scp),而且可以本地同步数据(类似于cp),但不同于cp或者scp的一点是, 它不会覆盖以前的数据 (如果数据已经存在),而是先判断已经存在的数据和新数据的差异,只有数据不同时才会把不相同的部分覆盖。
Rsync是-款快速且功能非常多的文件复制工具。它可以在本地复制,通过任何远程shell或从另-台主机复制到从远程 rsync守护进程。它提供了大量的选项控制其行为的每个方面并允许非常灵活指定要复制的文件集。它是着名的其增量转换算法,可减少发送的数据量通过发远只有来源之间的差异在网络上文件和目标中的现有文件.。Rsync很广泛用于备份和镜像以及作为改进的复制命令日常使用。

yum install -y rsync 安装rsync工具

linux rsync日志时间8小时 rsync日志查看_数据


rsync -av /etc/passwd /tmp/123.txt 本机同步文件


linux rsync日志时间8小时 rsync日志查看_配置文件_02


把文件同步到指定IP设备目录下


不指定用户默认为当前终端登录用户


rsync -av root@192.168.196.103:/tmp/1.txt /tmp/1.txt


linux rsync日志时间8小时 rsync日志查看_配置文件_03


将指定IP设备下的目录或者文件同步到本机指定位置

rsync常用选项
-a 包含-rtplgoD
-r 同步目录时要加上,类似cp时的-r选项
-v 同步时显示一些信息,让我们知道同步的过程
-l 保留软连接
-L 加上该选项后,同步软链接时会把源文件给同步
-p 保持文件的权限属性
-o 保持文件的属主
-g 保持文件的属组
-D 保持设备文件信息
-t 保持文件的时间属性
–delete 删除DEST中SRC没有的文件
–exclude 过滤指定文件,如–exclude “logs”会把文件名包含logs的文件或者目录过滤掉,不同步
-P 显示同步过程,比如速率,比-v更加详细
-u 加上该选项后,如果DEST中的文件比SRC新,则不同步
-z 传输时压缩

rsync通过ssh同步

rsync -avP -e “ssh -p 22” /etc/passwd 192.168.196.103:/tmp/1.txt

linux rsync日志时间8小时 rsync日志查看_IP_04

rsync通过服务同步

1.修改配置文件 /etc/rsyncd.conf

linux rsync日志时间8小时 rsync日志查看_配置文件_05


•rsyncd.conf配置文件详解


• port:指定在哪个端口启动rsyncd服务,默认是873端口。


• log file:指定日志文件。


• pid file:指定pid文件,这个文件的作用涉及服务的启动、停止等进程管理操作。


• address:指定启动rsyncd服务的IP。假如你的机器有多个IP,就可以指定由其中一个启动rsyncd服务,如果不指定该参数,默认是在全部IP上启动。


• []:指定模块名,里面内容自定义。


• path:指定数据存放的路径。


• use chroot true|false:表示在传输文件前首先chroot到path参数所指定的目录下。这样做的原因是实现额外的安全防护,但缺点是需要以roots权限,并且不能备份指向外部的符号连接所指向的目录文件。默认情况下chroot值为true,如果你的数据当中有软连接文件,阿铭建议你设置成false。


•max connections:指定最大的连接数,默认是0,即没有限制。


• read only ture|false:如果为true,则不能上传到该模块指定的路径下。


• list:表示当用户查询该服务器上的可用模块时,该模块是否被列出,设定为true则列出,false则隐藏。


• uid/gid:指定传输文件时以哪个用户/组的身份传输。


• auth users:指定传输时要使用的用户名。


• secrets file:指定密码文件,该参数连同上面的参数如果不指定,则不使用密码验证。注意该密码文件的权限一定要是600。格式:用户名:密码


• hosts allow:表示被允许连接该模块的主机,可以是IP或者网段,如果是多个,中间用空格隔开。

2.rsync --daemon启动服务 查看服务是否启动,端口是否监听到

linux rsync日志时间8小时 rsync日志查看_linux rsync日志时间8小时_06


3.同步文件


rsync -avP /etc/passwd 192.168.196.101::test/1.txt


linux rsync日志时间8小时 rsync日志查看_linux rsync日志时间8小时_07


检查端口服务端的端口是否是通的,telnet 192.168.196.101 873


yum install -y telnet 安装telnet命令


linux rsync日志时间8小时 rsync日志查看_linux rsync日志时间8小时_08


把服务端和客户端firewalld服务停掉,ctrl + ],再输入quit退出。


linux rsync日志时间8小时 rsync日志查看_linux rsync日志时间8小时_09


将定义密码的配置文件行注释掉


linux rsync日志时间8小时 rsync日志查看_linux rsync日志时间8小时_10


rsync -avP /tmp/123 192.168.190.101::test/321.txt


linux rsync日志时间8小时 rsync日志查看_linux rsync日志时间8小时_11

配置文件当中修改list为false,可以隐藏模块名称 list值为ture,会显示模块名称

linux rsync日志时间8小时 rsync日志查看_linux rsync日志时间8小时_12


list值为false,会隐藏模块名称


linux rsync日志时间8小时 rsync日志查看_配置文件_13

使用8730端口同步文件 修改配置文件,重启服务

linux rsync日志时间8小时 rsync日志查看_配置文件_14


rsync -avP --port 8730 /etc/passwd 192.168.196.101::test/2.txt 指定端口进行文件传输


linux rsync日志时间8小时 rsync日志查看_配置文件_15

• 当设置了auth users和secrets file后,客户端连服务端也需要用用户名密码了,若想在命令行中带上密码,可以设定一个密码文件 服务端配置密码文件/etc/rsyncd.passwd,内容为用户名:密码,权限改为600 chmod /etc/rsyncd.passwd

linux rsync日志时间8小时 rsync日志查看_配置文件_16


客户端配置密码文件 ,内容就是密码,权限改为600,chmod 600 /etc/rsync_pass.txt


linux rsync日志时间8小时 rsync日志查看_IP_17


rsync -avP /etc/passwd --port 8730 --password-file=/etc/rsync_pass.txt test@192.168.196.101::test/


linux rsync日志时间8小时 rsync日志查看_数据_18

系统日志

系统日常日志/var/log/messages;它是核心系统日志文件,包含了系统启动时的引导消息,以及系统运行时的其他状态消息。IO错误、 网络错误和真他系统错误都会记录到这个文件中. 另外其他信息, 比如某个人的身份切换为root以及用户自定义安装的软件(apache)的日志也会在这里列出。

/etc/logrotate.conf 日志切割配置文件

linux rsync日志时间8小时 rsync日志查看_linux rsync日志时间8小时_19

#rotate log files weeklyweekly //每周切割一次# keep 4 weeks worth of backlogsrotate 4 //4周一次轮换# create new (empty) log files after rotating old onescreate //创建新的# use date as a suffix of the rotated filedateext //以它为后缀名# uncomment this if you want your log files compressed#compress //是否需要压缩,压缩文件格式为.tar.gz 参考

dmesg命令 列出硬件相关日志

dmesg -c 清除当前日志
dmesg

linux rsync日志时间8小时 rsync日志查看_数据_20


/var/log/dmesg 日志


linux rsync日志时间8小时 rsync日志查看_配置文件_21

last命令,调用的文件/var/log/wtmp

查看正确的登陆历史
var/log/wtmp日志是-个二进制文件,不能直接查看的,只能用last命令去查看

linux rsync日志时间8小时 rsync日志查看_配置文件_22

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

查看登陆失败的历史
/var/log/btmp日志也是-个二进制文件,不能直接查看的,只能用lastb命令去查看

linux rsync日志时间8小时 rsync日志查看_配置文件_23

安全日志 /var/log/secure

linux rsync日志时间8小时 rsync日志查看_配置文件_24

SCREEN工具

当我们需要执行一个任务很长时间的时候,中途不可以与从远程终端当中退出,我们可以使用“nohup command >> 1.log &”将任务置于后台运行也可以使用screen工具。
yum install -y screen 安装screen工具

linux rsync日志时间8小时 rsync日志查看_数据_25


输入screen打开虚拟终端


输入ctrl +a再按d退出虚拟终端,输入screen -ls查看虚拟终端


linux rsync日志时间8小时 rsync日志查看_配置文件_26


screen -r 终端号回到指定虚拟终端


linux rsync日志时间8小时 rsync日志查看_配置文件_27


在创建screen的时候加上-S选项,指定一个名字


linux rsync日志时间8小时 rsync日志查看_配置文件_28


如需结束虚拟终端,输入exit