10.28 rsync工具介绍10.28 rsync工具介绍10.32/10.33 rsync通过服务同步 10.34 linux系统日志 10.35 screen工具
八周二次课
10.28 rsync工具介绍
10.29/10.30 rsync常用选项
10.31 rsync通过ssh同步
10.28 rsync工具介绍
• rsync:支持增量同步以及远程同步
yum install -y rsync
• rsync格式
rsync [OPTION] … SRC DEST
rsync [OPTION] … SRC [[email protected]]host:DEST
rsync [OPTION] … [[email protected]]host:SRC DEST
rsync [OPTION] … SRC [[email protected]]host::DEST
rsync [OPTION] … [[email protected]]host::SRC DEST
OPTION //命令选项
SRC //源目录
DEST //目标目录
user //用户名
host //主机IP地址
10.29/10.30 rsync常用选项
• 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 //传输时压缩(传输前压缩,传输后自动解压)
注:使用L时,会将-l以及-a中的l命令的作用覆盖
rsync -av --exclude "log*" --exclude "*.txt" SRC DEST
--exclude 选项不支持连写,需要过滤多个文件时,每一个文件前都要加--exclude选项
10.31 rsync通过ssh同步
在使用rsync远程同步文件时,需要双方主机均安装rsync插件,否则同步会产生报错。
• 推文件
rsync -av /etc/passwd [email protected]:/tmp/1.txt
• 拉文件(反向同步)
rsync -av 192.168.88.50:lem2/ /tmp/lem/
• 指定目标端口远程同步(默认为22端口)
rsync -av -e "ssh -p 22" lem/ 192.168.88.50:/tmp/lem2/
八周三次课
10.32/10.33 rsync通过服务同步
10.34 linux系统日志
10.35 screen工具
扩展
1. Linux日志文件总管logrotate http://linux.cn/article-4126-1.html
2. xargs用法详解 http://blog.****.net/zhangfn2011/article/details/6776925
10.32/10.33 rsync通过服务同步
• rsync服务方式同步
服务方式的架构为C/S架构,需要开启rsync服务,并且需要监听一个端口(默认为873),监听端口可自定义,开启服务后,客户端即可通过监听端口与服务端进行通信以及传输数据。
• 命令格式
rsync -av 源文件路径 服务端IP::模块名称/目标次级路径/目标文件名 //推文件 客户端--》服务端
rsync -av 服务端IP::模块名称/源次级路径/源文件名 目标文件路径 //拉文件 服务端--》客户端(在客户端操作)
启动服务之前需要先编辑配置文件/etc/rsyncd.conf(默认地址)
• 启动服务
rsync --daemon //配置文件的默认路径未改变
注:当配置文件的地址发生改变时,需要在原有命令后加上--config=指定配置文件的路径,即可启动服务
• 修改配置文件/etc/rsyncd.conf
port=873
log file=/var/log/rsync.log
pid file=/var/run/rsyncd.pid
address=192.168.88.5
[test]
path=/root/rsync
use chroot=truemax connections=4read only=nolist=true
uid=root
gid=root
auth users=test
secrets file=/etc/rsyncd.passwd
hosts allow=192.168.88.10 1.1.1.1 2.2.2.2 192.168.88.0/24
• port:指定在哪个端口启动rsyncd服务,默认是873端口(如果修改了默认端口,则在同步文件时需要额 外加上--port 目标端口,即可进行同步)。
• 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则隐藏。
(查询模块:rsync 服务端IP::)
• uid/gid:指定传输文件时以哪个用户/组的身份传输。
• auth users:指定传输时要使用的用户名。
• secrets file:指定密码文件,该参数连同上面的参数如果不指定,则不使用密码验证。注意该密码文件的 权限一定要是600。格式:用户名:密码
当设置了auth users和secrets file后,客户端连服务端也需要用用户名密码了,若想在命令行中带上密码(客户端免除输入密码的过程),可以在客户端也设定一个密码文件,注意该密码文件的权限一定也是600。格式:密码
rsync -av 源文件路径 --password-file=客户端密码文件所在目录 配置文件中指定的用户名@服务端IP::模块名称/目标文件
• hosts allow:表示被允许连接该模块的主机,可以是IP或者网段,如果是多个,中间用空格隔开。
• 同步文件
[[email protected] rsync]# rsync -avP /tmp/rsync/lem123456.txt 192.168.88.5::test/lem123.txt//将文件同步上传至服务器
[[email protected] rsync]# rsync -avP 192.168.88.5::test/lem123.txt /tmp/rsync/lem123456.txt//将文件从服务器同步下载至客户端
启动服务后,客户端(linux-10)可以向服务端(linux-5)同步文件,“::”后接模块名称(配置文件中方括号内的名字),相当于模块的路径(本例中为/root/rsync),后接文件名(如还有次级目录则先写次级目录)
注:同步时可能会出现错误,可从3个方面进行排查
1、客户端与服务端网络是否连通(ping)
2、客户端与服务端端口是否连通(telnet)
3、客户端与服务端是否被防火墙拦截(firewalld)
10.34 linux系统日志
Linux系统中很多的信息以及错误都会记录在日志当中,而不是显示在屏幕上。
• Linux系统日志
/var/log/messages //可直接查看
Linux系统具有日志切割机制,当系统日志增长到一定级别时,logrotate服务会将系统日志自动切割
[[email protected] ~]# ls /var/log/messages*
/var/log/messages /var/log/messages-20180422 /var/log/messages-20180505 /var/log/messages-20180507 /var/log/messages-20180515
• 查看Linux系统硬件相关日志
dmesg
• 系统启动日志
/var/log/dmesg //可直接查看
• 查看正确的登录历史
last
last命令,实际上调用的日志文件/var/log/wtmp,这个日志文件是二进制文件,只能用last命令查看,不能直接查看。
• 查看登录失败的登录历史
lastb
lastb命令,实际上调用的日志文件/var/log/btmp,这个日志文件是二进制文件,只能用lastb命令查看,不能直接查看。
如果有人尝试暴力**,则通过lastb命令会查询到很多日志
• 查看安全日志
/var/log/secure //可直接查看
10.35 screen工具
screen是一个虚拟终端
为了不让一个任务意外中断,有两种办法
1、把命令移动到后台执行
nohup command &
2、通过screen工具(可在退出远程连接前把screen终端移至后台,即可在日后随时用随时调出,便于查看 具体运行情况)
screen
直接输入screen回车就进入了虚拟终端
• screen终端移至后台
Ctrl a + d
[[email protected] ~]# screen[detached from 1617.pts-0.linux-5]
注:1617代表虚拟终端的ID
• 查看虚拟终端列表
[[email protected] ~]# screen -lsThere are screens on:
1617.pts-0.linux-5 (Detached)
1602.pts-0.linux-5 (Detached)
1558.pts-0.linux-5 (Detached)
• 退出虚拟终端
在虚拟终端中输入 exit
• 返回虚拟终端
screen -r 指定screen终端ID
• 创建虚拟终端并自定义虚拟终端名称
screen -S “虚拟终端名称” //名称外双引号可加可不加