2018-1-31 8周3次课 rsync服务同步,系统日志,screen工具

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2018-1-31 8周3次课 rsync服务同步,系统日志,screen工具相关的知识,希望对你有一定的参考价值。

10.32 rsync通过服务同步(上)


·启动服务之前,先编辑文件 /etc/rsync.conf

技术分享图片技术分享图片


·启动服务:rsync --daemon (--config=文件,如果rsync.conf不是保存在默认目录下的话,需要--config=文件来配置)

[[email protected] ~]# rsync --daemon
[[email protected] ~]# ps aux |grep rsync##检查rsync服务是否启动
root       1242  0.0  0.0 114652   520 ?        Ss   20:50   0:00 rsync --daemon
root       1244  0.0  0.0 112676   984 pts/0    S+   20:50   0:00 grep --color=auto rsync
[[email protected] ~]# netstat -lntp##查看监听的端口
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      916/sshd
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1025/master
tcp        0      0 192.168.65.128:873      0.0.0.0:*               LISTEN      1242/rsync
tcp6       0      0 :::22                   :::*                    LISTEN      916/sshd
tcp6       0      0 ::1:25                  :::*                    LISTEN      1025/master


切换到另一台主机(192.168.65.129)进行操作:

[[email protected] ~]# rsync -avP /tmp/arsenal.txt 192.168.65.128::test/arsenal-2.txt
rsync: failed to connect to 192.168.65.128 (192.168.65.128): No route to host (113)
rsync error: error in socket IO (code 10) at clientserver.c(122) [sender=3.0.9]
[[email protected] ~]# ping 192.168.65.128
PING 192.168.65.128 (192.168.65.128) 56(84) bytes of data.
64 bytes from 192.168.65.128: icmp_seq=1 ttl=64 time=0.323 ms
64 bytes from 192.168.65.128: icmp_seq=2 ttl=64 time=0.353 ms
^C
--- 192.168.65.128 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.323/0.338/0.353/0.015 ms
[[email protected] ~]# telnet 192.168.65.128 873
-bash: telnet: 未找到命令
[[email protected] ~]# yum install -y telnet
(安装过程省略)
[[email protected] ~]# telnet 192.168.65.128 873
Trying 192.168.65.128...
telnet: connect to address 192.168.65.128: No route to host
[[email protected] ~]# systemctl stop firewalld            ##同时关闭两台机器 firewalld / iptables 服务
[[email protected] ~]# iptables -nvL
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination
[[email protected] ~]# telnet 192.168.65.128 873
Trying 192.168.65.128...
Connected to 192.168.65.128.
Escape character is '^]'.
@RSYNCD: 30.0
^]                                                     ## ctrl + ] (右括号),在quit退出
telnet> quit
Connection closed.
[[email protected] ~]# rsync -avP /tmp/arsenal.txt 192.168.65.128::test/arsenal-2.txt
sending incremental file list
arsenal.txt
979 100%    0.00kB/s    0:00:00 (xfer#1, to-check=0/1)

sent 1054 bytes  received 27 bytes  2162.00 bytes/sec
total size is 979  speedup is 0.91

切换到(192.168.65.128)主机上:

[[email protected] ~]# ls /tmp/rsync
arsenal-2.txt

(以上为主机2同步数据到到主机1)


从主机1同步数据到主机2:

[[email protected] ~]# rsync -avP 192.168.65.128::test/arsenal-2.txt /tmp/123.txt
receiving incremental file list
sent 26 bytes  received 65 bytes  182.00 bytes/sec
total size is 979  speedup is 10.76
[[email protected] ~]# ls /tmp/
123.txt                                                                  systemd-private-7453042b23f0400db631b7ac80236eff-vgauthd.service-x0NkYv
arsenal.txt                                                              systemd-private-7453042b23f0400db631b7ac80236eff-vmtoolsd.service-IQiCtU
systemd-private-7453042b23f0400db631b7ac80236eff-chronyd.service-dFmGx7





10.33 rsync通过服务同步(下)


rsyncd.conf配置文件详解 :

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

如果端口不是873,而是8730,那么同步时需要 --port 8730

rsync -avP --port 8730 192.168.65.128::test/ /tmp/test/


·log file:指定日志文件。


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


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


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


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


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


默认情况下:user chroot = true

在主机1中创建链接文件:12.txt

[[email protected] ~]# cd /tmp/rsync/
[[email protected] rsync]# ln -s /etc/passwd ./12.txt
[[email protected] rsync]# ll
总用量 4
lrwxrwxrwx. 1 root root  11 1月  27 21:33 12.txt -> /etc/passwd
-rw-r--r--. 1 root root 979 1月  14 21:12 arsenal-2.txt
切换到主机2中:
[[email protected] ~]# rsync -avP 192.168.65.128::test/ /tmp/test/
receiving incremental file list
created directory /tmp/test
./
12.txt -> /etc/passwd
arsenal-2.txt
979 100%  956.05kB/s    0:00:00 (xfer#1, to-check=0/3)

sent 51 bytes  received 1138 bytes  2378.00 bytes/sec
total size is 990  speedup is 0.83
[[email protected] ~]# ll /tmp/test
总用量 4
lrwxrwxrwx. 1 root root  11 1月  27 21:33 12.txt -> /etc/passwd
-rw-r--r--. 1 root root 979 1月  14 21:12 arsenal-2.txt
[[email protected] ~]# rsync -avLP 192.168.65.128::test/ /tmp/test/##加上 L
receiving incremental file list
symlink has no referent: "/12.txt" (in test)
./

sent 29 bytes  received 133 bytes  324.00 bytes/sec
total size is 979  speedup is 6.04
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1518) [generator=3.0.9]
[[email protected] ~]# ll /tmp/test
总用量 4
-rw-r--r--. 1 0 root 979 1月  14 21:12 arsenal-2.txt            ##软连接文件没有同步过来

(chroot = true,传输仅限于PATH目录下文件可以同步)


在主机1上改变chroot参数,use chroot = false

在主机2上同步:

[[email protected] ~]# rsync -avLP 192.168.65.128::test/ /tmp/test/
receiving incremental file list
./
12.txt
979 100%  956.05kB/s    0:00:00 (xfer#1, to-check=2/4)
sent 67 bytes  received 1924 bytes  1327.33 bytes/sec
total size is 2714  speedup is 1.36
[[email protected] ~]# ll /tmp/test/
总用量 8
-rw-r--r--. 1 0 root 979 1月  14 21:12 12.txt
-rw-r--r--. 1 0 root 979 1月  14 21:12 arsenal-2.txt
·max connections:指定最大的连接数,默认是0,即没有限制。


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

(给服务端写服务时,服务端定义为true,则不可写)


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

-true:

[[email protected] ~]# rsync 192.168.65.128::

test

-false:

[[email protected] ~]# rsync 192.168.65.128::
[[email protected] ~]#


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


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


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


当设置了auth users和secrets file后,客户端连服务端也需要用用户名密码了,若想在命令行中带上密码,可以设定一个密码文件

[[email protected] ~]# vim /etc/rsyncd.passwd
test:1234
[[email protected] ~]# chmod 600 /etc/rsyncd.passwd
[[email protected] ~]# rsync -avL [email protected]::test/  /tmp/test/ --password-file=/etc/rsyncd_passwd

(可以将密码写入到客户端里文件中,名称可自定义,再用--passwordd-file来定义,权限600)


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

当设置了auth users和secrets file后,客户端连服务端也需要用用户名密码了,若想在命令行中带上密码,可以设定一个密码文件

一个ip可以直接写,多个可以写192.168.65.129 1.1.1.1 2.2.2.2 或者IP段 192.168.65.0/24





10.34 Linux系统日志


系统日志:/var/log/messages

如果命令没有定义单独的日志,那么日志就记录在这里


日志增长到一定级别,为防止文件过大,会自动切割(logrotate)

[[email protected] ~]# ls /var/log/messages*
/var/log/messages  /var/log/messages-20171231  /var/log/messages-20180108  /var/log/messages-20180114  /var/log/messages-20180121

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

参考:https://my.oschina.net/u/2000675/blog/908189


dmesg命令:列出系统硬件相关日志

清空日志:dmesg -c


/var/log/dmesg 日志,和dmesg命令不一样


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


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

安全日志: /var/log/secure





10.35 screen工具


为了不让一个任务意外中断

nohup 命令 &   把任务丢到后台


screen是一个虚拟终端

yum install -y screen

进入了虚拟终端:screen直接回车就

ctrl + a组合键再按d退出虚拟终端,但不是结束(screen后,在虚拟终端中操作)

查看虚拟终端列表:screen -ls

进入指定的终端:screen -r id

退出screen,exit退出


可以同时进入多个虚拟终端

[[email protected] ~]# screen
[detached from 1485.pts-0.localhost]
[[email protected] ~]# screen
[detached from 1500.pts-0.localhost]
[[email protected] ~]# screen
[detached from 1515.pts-0.localhost]
[[email protected] ~]# screen -ls
There are screens on:
1515.pts-0.localhost(Detached)
1500.pts-0.localhost(Detached)
1485.pts-0.localhost(Detached)
3 Sockets in /var/run/screen/S-root.

时间长后,根据id就无法区分screen里运行了什么东西


·自定义名称:screen -S test (screen进入虚拟终端时,不用screen,而是在之后加 -S 定义名称)

[[email protected] ~]# screen -S test
[detached from 1532.test]
[[email protected] ~]# screen -ls
There are screens on:
1532.test(Detached)
1515.pts-0.localhost(Detached)
1500.pts-0.localhost(Detached)
1485.pts-0.localhost(Detached)
4 Sockets in /var/run/screen/S-root.

进入指定虚拟终端:screen -r test(可以加自定义名称或者id号)


以上是关于2018-1-31 8周3次课 rsync服务同步,系统日志,screen工具的主要内容,如果未能解决你的问题,请参考以下文章

2018-1-31 8周3次课

2018-1-30 8周2次课

2018.1.30 8周2次课

2018-1-30 8周2次课 rsync

八周三次课(1月31日) 10.32/10.33 rsync通过服务同步 10.34 linux系统日志 10.35 screen工具

linux八周三次课(3月28日)