10.32/10.33 rsync通过服务同步
10.34 linux系统日志
10.35 screen工具
10.32/10.33 rsync通过服务方式同步
rsync可以通过服务的方式来同步数据 即一个机器作为服务器 另一个机器作为客户端 rsync服务的配置文件在/etc/rsync.conf
服务器端先编辑配置文件1
[root@kun0769 ~]# vim /etc/rsyncd.conf
输入下面代码1
2
3
4
5
6
7
8
9
10
11
12
13
14
15port=873
log file=/var/log/rsync.log
pid file=/var/run/rsyncd.pid
address=192.168.80.100
[test]
path=/tmp/rsync/
use chroot=true
max connections=0
read only=no
list=true
uid=root
gid=root
auth users=test
secrets file=/etc/rsyncd.passwd
hosts allow=192.168.133.132 1.1.1.1 2.2.2.2 192.168.80.0/24
新建目录和修改文件的权限1
2[root@kun0769 ~]# mkdir -p /tmp/rsync/
[root@kun0769 ~]# chmod 777 /tmp/rsync/
启动服务1
[root@kun0769 ~]# rsync --daemon
查看服务是否启动 端口是否监听1
[root@kun0769 ~]# ps aux |grep rsync
1
[root@kun0769 ~]# netstat -lntp
在客户端上输入1
[root@test2 ~]# rsync -av /tmp/test.txt 192.168.80.100::test ##test是指模块名
配置文件的代码含义
参数 | 含义 |
---|---|
port | 指定在哪个端口启动rsyncd服务,默认是873端口。 |
log file | 指定日志文件。 |
pid file | 指定pid文件,这个文件的作用涉及服务的启动、停止等进程管理操作。 |
address | 指定启动rsyncd服务的IP。假如你的机器有多个IP,就可以指定由其中一个启动rsyncd服务,如果不指定该参数,默认是在全部IP上启动。 |
[] | 指定模块名,里面内容自定义。 |
path | 指定数据存放的路径。 |
use chroot true|false | true表示在传输文件只能在指定数据的目录下读写数据 如有软连接的源文件是其他路径的 则传输就报错 |
max connections | 指定最大的连接数,默认是0,即没有限制。 |
read only ture|false | 如果为true,则不能上传到该模块指定的路径下。 |
list | 表示当用户查询该服务器上的可用模块时,该模块是否被列出,设定为true则列出,false则隐藏。 |
uid/gid | 指定传输文件时以哪个用户/组的身份传输。 |
auth users | 指定传输时要使用的用户名。 |
secrets file | 指定密码文件,该参数连同上面的参数如果不指定,则不使用密码验证。注意该密码文件的权限一定要是600。格式:用户名:密码 |
hosts allow | 表示被允许连接该模块的主机,可以是IP或者网段,如果是多个,中间用空格隔开。 |
实例
更改端口
在配置文件中把port改为87301
port=8730
再重启服务1
2
3[root@kun0769 ~]# killall rsync ##杀掉rsync所有服务
[root@kun0769 ~]# rsync --daemon
[root@kun0769 ~]# netstat -pntl
传输数据只能在指定的目录下读写
在配置文件中 use chroot改为trueuse chroot true
在服务端中使用软连接来指定其他目录 在客户端中使用-L来传输软连接的原文件 就是报错1
[root@test2 ~]# rsync -avL 192.168.80.100::test /tmp/
客户端可以使用–port 来指定端口来传输1
[root@test2 ~]# rsync -av /tmp/ --port 8730 192.168.80.100::test ##把/tmp/目录同步到192.168.80.100:8730指定的目录下
让客户端能查看服务端的模块名
在配置文件中把 list=true
在客户端上输入1
2[root@test2 ~]# rsync --port 8730 192.168.80.100::
test
指定使用用户名和密码来传输
在配置文件中把auth users=test 来指定用户名 secrets file=/etc/rsyncd.passwd
来指定存放密码的文件路径
并建立存密码的文件和修改权限1
[root@kun0769 ~]# vim /etc/rsyncd.passwd
内容是 用户名:密码1
[root@kun0769 ~]# chmod 600 /etc/rsyncd.passwd
在客户端上输入1
[root@test2 ~]# rsync -av /etc/passwd --port 8730 test@192.168.80.100::test
为了使用脚本时候不用输入密码 我们可以在客户端上放一个文件来存放密码1
[root@test2 ~]# vi /etc/pass
内容就是一个密码,权限要改为6001
[root@test2 ~]# chmod 600 /etc/pass
在客户端上输入1
[root@test2 ~]# rsync -av /etc/passwd --port 8730 --password-file=/etc/pass test@192.168.80.100::test
10.34 系统日志
linux系统的总日志 /var/log/messages
记录各种各样的信息 包括网络 系统 内核… 除非服务有指定日志路径 不然全记录此日志下
为了防止日志文件大小过大 系统自带一个系统切割服务logrotate 此服务的配置文件在/etc/logrotate.conf
下
dmesg:列出系统硬件设备的日志 内容存在内存中
-c
:清空日志1
[root@kun0769 ~]# dmesg -c
系统启动日志 /var/log/dmesg 和dmesg命令没有关系
last:查看登录成功历史 其日志文件在 /var/log/wtmp 该文件不能直接cat
lastb:查看登录失败历史 其日志文件在 /var/log/btmp 该文件不能直接cat
系统安全日志 /var/log/secure
可以看用户登录情况
10.35 screen命令
screen:虚拟终端
为了不让一个任务因为远程终端断开而中断,并且可以随时调用屏幕 使用Ctrl+a+d 来后面运行 exit退出screen-ls
:查看虚拟终端1
[root@kun0769 ~]# screen -ls
-r
:进入指定虚拟终端 后面可跟id 可跟终端名1
2[root@kun0769 ~]# screen -r 2087
[root@kun0769 ~]# screen -r kun1
-S
:指定终端名1
[root@kun0769 ~]# screen -S kun1