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工具的主要内容,如果未能解决你的问题,请参考以下文章
八周三次课(1月31日) 10.32/10.33 rsync通过服务同步 10.34 linux系统日志 10.35 screen工具