任务列表:
10.28 rsync工具介绍
10.29/10.30 rsync常用选项
10.31 rsync通过ssh同步
10.32/10.33 rsync通过服务同步
10.34 linux系统日志
10.35 screen工具
10.28 rsync同步工具介绍
- rsync比cp更好的地方:支持增量复制
- 所谓增量复制就是指,只复制增加的文件。而相同的文件不发生变化。
- rsync的格式
rsync [option] SRC DEST
相当于复制一份文件,把源文件(SRC)复制到目标(DEST)去。
源和目标的概念与复制相同(比如针对目录的复制)
10.29/10.30 rsync常用选项
- -a 包含-rtplgoD
- -r 同步目录,和cp命令的-r类似。
- -v 显示同步的过程,也就是可视化。
- -l 保留软链接。
- -L 会同步软链接的源文件,而不是软链接本身。大小L同时存在时大写会覆盖小写。
- -p 保持文件的权限属性
- -o 保持文件的属主(同步UID,并不是属主名称)
- -g 保持文件的属组(同步GID,并不是属组名称)
- -D 保持设备文件信息
- -t 保持文件的时间属性
- -p 指定ssh同步时的端口号
- –port 指定服务同步时的端口号
- –delate 删除DEST中SRC中没有的文件。(完全同步,把源和目标同步的一模一样)
- –exclude 过滤指定文件。
例如:–exclude "*logs"会把文件名以logs结尾的文件或目录排除掉,不同步。
可以使用多个–exclude 但是不能连写多个排除的要求。 - -P 注意大写。显示同步过程,比如速率等,显示内容比-v更丰富。
- -u 同步前会比较文件的MTIME,如果目标(DEST)比源(SRC)新,就不同步。
不加-u的话,源内容改变,目标和源内容不一样,就会同步。 - -z 传输的过程中压缩,目的是消耗系统资源来节省网络资源。
10.31 rsync通过ssh同步
- 使用ssh同步这前要确认同步的两台机器都装有rsync
安装的包名就叫rsync
yum install -y rsync
-e "ssh -p 22"
或者-p 22
指定传输端口rsync [option] SRC [usr@]host:DEST
把本地文件同步到远程。用户名(usr)可以省略,默认为当前用户。主机名或IP地址是必须的。推文件rsync [option] [usr@]host:SRC DEST
把远程文件拉到本地。
10.32/10.33 rsync通过服务同步
10.32.1 rsync服务同步的过程
- 1.编辑配置文件/etc/rsyncd.conf
这个是默认的配置文件。 - 2.启动服务
rsync --daemon
如果配置文件不使用默认配置文件需要写成
rsync --daemon --configfile=file
file配置文件路径 - 3.开始同步
10.32.1 rsync同步格式
rsync [option] SRC DESTIP::module/dir/
- [option]选项和ssh同步的选项是一致的
- module是模块名,所谓模块在后面详解。
- 双冒号是服务同步的特征。
10.32.2 rsync服务同步配置文件
- port 指定rsync启动的端口。如果为空,默认使用873端口。如果更改了这里,那么同步时要加上–port 端口号。
- log file 指定日志文件用于查询
- pid file 指定pid文件,这个文件的作用涉及到服务的启动和停止等进程相关操作。
- address 指定启动rsync服务的IP。在多IP的机器上就可以指定其中的一个IP启动服务。如果不指定,默认在全部IP上启动服务。
- [] 方括号内为模块名,可以自定义。
- path 指定数据存放的路径
- use chroot=true|false
这条配置控制同步的操作是否限定于path内。
如果为true。那么凡是path设定路径以外的文件都不会被同步。
比如:一个软链接文件链接的是path以外的文件,使用-L时就不会把真正的文件同步过来,同时会报错。
如果为fales,那么链接的本体就会被同步过来。 - max connections 默认最大连接数,默认为0即没有限制。
- read only ture|false 定义为ture时,模块下指定的路径是不可以做“拉”这个操作的。
- list true|false 定义为true时,
使用rsync 192.168.133.130::
类似这种格式时,可以查看服务端有哪些模块。 - uid/gid 传输过程中使用什么身份。
- auth users 设定一个传输的用户(这个用户是rsync服务的用户和系统用户无关)。
设定用户后传输格式为:
rsync -av SRC user@IP::module/dir/
- secrets file 设定传输用户的密码文件。只有设定了传输用户的配置才会有效。
权限为600。
服务端格式为:
用户:密码
客户端只要把密码写进文件里。同步时加上--password-flie=/密码文件路径
就可以免密传输了。
这两个文件的权限都要设定为600。 - hosts allow 指定可以传输的IP。不在此列的IP不能传输。多个ip用空格分隔。可以使用IP段。
10.34 linux系统日志
10.34.1日志的作用
- 排查问题,查看日志可以了确问题的具体情况。
- 有些报错并不会直接提示,而是以日志的形式存放于文件中。需要我们自己去查看。
10.34.2 重要的日志文件
/var/log/messages
系统的总日志文件。如果程序没有定义单独日志文件,就会被记录在这里。
包括,网络的,系统的,内核的等等日志都会被记录。- message文件有自己的切割机制,会以message-日期保存。
10.34.3 文件切割服务logrotate配置
- logrotate服务的配置文件:
/etc/logrotate.conf
- weekly 每周切割次数也可以定义为monthly
- rotate 切割保留次数
- create 切割旧文件时会创建一个空的新文件。使用时可以指定权限属组和属主。
- dateext 使用日期作为后缀名。
- comperss 切割后的文件会被压缩为.tar.gz文件。
- include 该目录下为程序的单独配置文件。
- 在
/etc/logrotate.d
目录下为每个程序单独设定切割规则。
10.34.4 dmesg命令
- 使用dmesg命令后会显示硬件相关的日志。
- 这个日志是保存在内存中的。
- 关注error关键字
- dmesg -c 可以清空当前日志。
/var/log/dmesg
文件和dmesg命令没有关联。它会记录系统启动相关的日志。
10.34.5 last命令
- 用来看查正确的登录历史。
- 记录内容有:用户 登录终端 来源IP 登录时长
- last命令调用的文件是
/var/log/wtmp
这个文件是二进制文件,不可以直接cat查看。
10.34.6 lastb命令
- 用来看查错误的登录历史。
- last命令调用的文件是
/var/log/btmp
这个文件是二进制文件,不可以直接cat查看。
10.34.7 安全日志
/var/log/secure
- 可以使用cat等命令查看内容。
- 查看登录的详细内容。可以看到用户登录的整个过程。
10.35 screen工具
10.35.1 防止任务意外中断。
nohup command &
command是你想要执行的命令行,这样做会把这个命令直接丢到后台运行,而不会受到前台的干扰。- 或者使用screen工具。
10.35.2 screen工具用法
- 安装
yum install -y screen
- 输入screen就可以进入一个虚拟的终端。
- 在这个终端执行一个前台任务的时候,可以按住ctrl+a的同时再按d键退出screen。
- 这时那个前台任务会运行在screen的虚拟终端里。
screen -ls
可以查看现在运行着哪些虚拟终端。screen -r id
可以恢复到指定id的终端。- 在虚拟终端里输入exit就可以关闭这个终端。
- 为了防止screen太多管理混乱。我们可以在建立终端前给虚拟终端起一个名字。
screen -S "name"
这样生成的终端名称就是id.name。- 进入终端可以使用id也可以使用name。
扩展
- Linux日志文件总管logrotate http://linux.cn/article-4126-1.html
- xargs用法详解 http://blog.csdn.net/zhangfn2011/article/details/6776925
直播笔记
rsync的使用场景
日志切割工具logrotate
https://linux.cn/article-4126-1.html