八周三课 rsync通过服务同步,linux系统日志,screen工具

rsync通过服务的方式同步
通过服务的方式首先我们要开启一个服务,它的架构是cs架构。客户端和服务端。服务端开启一个服务,rsync服务,并且要监听一个端口,默认为873,并且这个端口是可以自定义的。开启服务后,客户端究竟可以通过873这个端口和服务端进行通信。
它的命令格式有两个“::”。
例如:rsync -av test1/ 192.168.133.130::module/dir/
自启动服务前,我们要编辑配置文件,配置文件的默认路径为 /etc/rsyncd.conf。
启动方式为rsync --daemon

首先我们先启动它的服务,下面有一个rsyncd.conf的样例
port=873(指定端口,也可以自定义端口)
log file=/var/log/rsync.log(指定日志文件)
pid file=/var/run/rsyncd.pid(指定pid文件)
address=192.168.133.130(指定监听的IP,如果不写,就监听所以有IP,我们也可以写多个IP)
[test](指定块名)
path=/root/rsync(指定数据存放路径)
use chroot=true(安全参数,如果有文件没能同步过来,那么就把参数改为false)
max connections=4(最大连接数,假设服务器很多,我们就可以定义连接数)
read only=no(是否只读,如果制度的情况下改成true,这个参数就是在服务端写数据的时候,如果服务端定义了只读,就写不进去了。)
list=true(列出远程服务器上所有模块,如果改成false则列不出来。列出模块名的命令为
rsync --port=端口名 IP。这是一个安全选项,如果模块名暴露,就会容易被被人攻击。)
uid=root(指定传输文件时以哪个用户的身份传输)
gid=root(指定传输文件时以哪个用户的身份传输)
auth users=test(指定传输时要使用的用户名)
secrets file=/etc/rsyncd.passwd(指定密码文件。编辑这个文件用vi去打开,它的格式为用户名:密码。然后将这个问价的权限改为600。在同步的时候既要在IP前加上用户名,运行后输入用户密码。但是如果先到shell脚本中,这样写会很麻烦,我们还有一个办法,在客户端也定义一个密码文件,里面只写一个密码,权限改为600。这时候在同步的时候加参数--passwd=客户端文件的路径加文件名。例如: rsync -avL [email protected]::test/test1/ /tmp/test8/ --password-file=/etc/pass.txt)
hosts allow=192.168.133.132 (定义允许那些IP同步。如果是多个IP,就用空格隔开,也可以写IP段。)
将它复制到配置文件中去。
如果我们重新设定端口,则要重新启动服务。并且在同步的同时要指定端口。
例如:rsync -avPL --port【端口号】

然后我们启动服务
[[email protected] 111]# rsync --daemon
然后我们查看一下他是否启动成功
[[email protected] 111]# ps aux|grep rsync
root 1101 0.0 0.0 112676 984 pts/0 R+ 20:37 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 796/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:
LISTEN 880/master
tcp 0 0 192.168.1.106:873 0.0.0.0: LISTEN 1141/rsync
tcp6 0 0 :::22 :::
LISTEN 796/sshd
tcp6 0 0 ::1:25 :::* LISTEN 880/master
我们看到监听的端口为873,而且我们也给他设定一个监听IP,如果不写监听IP,他就是绑定0.0.0.0全部的IP。

现在服务端我们已经弄好了,然后我们开始运行命令。
[[email protected] tmp]# rsync -av /tmp/aming.txt 192.168.1.106::test/aming-02.txt
这时候冒号后面跟的是模块的名字,模块命就是在配置文件中用【】括起来的,这个模块名代表的路径就是我们设定的path=/root/rsync,所以备份的文件就放到了/root/rsync这个路径下。

但是执行完命令后出现报错。
[[email protected] tmp]# rsync -av /tmp/aming.txt 192.168.1.106::test/aming-02.txt
rsync: failed to connect to 192.168.1.106 (192.168.1.106): No route to host (113)
rsync error: error in socket IO (code 10) at clientserver.c(122) [sender=3.0.9]
没有路由到远程机。
遇到这种问题第一考虑网络的连通性。
[[email protected] tmp]# ping 192.168.1.106
PING 192.168.1.106 (192.168.1.106) 56(84) bytes of data.
64 bytes from 192.168.1.106: icmp_seq=1 ttl=64 time=0.690 ms
64 bytes from 192.168.1.106: icmp_seq=2 ttl=64 time=0.439 ms
^C
--- 192.168.1.106 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.439/0.564/0.690/0.127 ms
网络可以ping通。

然后查看端口
[[email protected] tmp]# telnet 192.168.1.106 873
Trying 192.168.1.106...
telnet: connect to address 192.168.1.106: No route to host
发现端口不同,出现这种情况,我们第一要考虑的是iptables的问题

我们先查看一下iptables。
[[email protected] tmp]# iptables -lnv
iptables v1.4.21: unknown option "iptables"
Try `iptables -h‘ or ‘iptables --help‘ for more information.
[[email protected] tmp]# iptables -nvL
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)(以下省略)
发现真的是由于iptables的原因导致的。

然后我们将firewalld给停掉
[[email protected] tmp]# iptables -lnv
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] ~]# iptables -nvL
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
3223 285K ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
2 168 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0
40 2608 ACCEPT all -- lo 0.0.0.0/0 0.0.0.0/0
2 100 ACCEPT tcp --
0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
2476 2089K REJECT all --
* 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT 2969 packets, 341K bytes)
pkts bytes target prot opt in out source destination
发现这台设备的iptables也开启了,所以我们也要关闭它。
然后再回到刚才的设备查看端口是否通畅。
[[email protected] tmp]# telnet 192.168.1.106 873
Trying 192.168.1.106...
Connected to 192.168.1.106.
Escape character is ‘^]‘.
@RSYNCD: 30.0
这时,端口已经通了。退出时按Ctrl加】,再输入quit退出。

然后再运行rsync -av /tmp/aming.txt 192.168.1.106::test/aming-02.txt这条名命令。
[[email protected] tmp]# rsync -av /tmp/aming.txt 192.168.1.106::test/aming-02.txt
Password:
这里需要我们输入密码,这是因为我们在编辑配置文件的时候定义了一条,auth users=test和secrets file=/etc/rsyncd.passwd,这个是用来定义密码的。我们可以在这两条前面加#来注释关掉它。

然后我们在运行这条命令
[[email protected] tmp]# rsync -avP /tmp/aming.txt 192.168.1.106::test/aming-02.txt
sending incremental file list
aming.txt
1159 100% 0.00kB/s 0:00:00 (xfer#1, to-check=0/1)

sent 1232 bytes received 27 bytes 2518.00 bytes/sec
total size is 1159 speedup is 0.92
这样我们就同步成功了。如果我们以后发现有用::的,他就是用了rsyncd.conf。

然后我们去另一台设备查看文件是否通过过去了。
[[email protected] tmp]# ls /tmp/rsync
aming-02.txt
已经同步过去了。

反过来我们么也可以将这个文件拉倒本机上来。
[[email protected]lhost tmp]# rsync -avP 192.168.1.106::test/aming-02.txt /tmp/123.txt
receiving incremental file list
aming-02.txt
1159 100% 1.11MB/s 0:00:00 (xfer#1, to-check=0/1)

sent 45 bytes received 1266 bytes 2622.00 bytes/sec
total size is 1159 speedup is 0.88
也成功了。

linux系统日志
日志每天都记录了系统的各项数据。所以我们在遇到问题的时候应该第一时间去查看我们的系统日志,linux系统中有很多重要的日志。

1./var/log/messages:系统总日志,好多信息都记录在这个文件中。除非某项服务有定义单独的日志。这个日志每天都会写,久而久之就会很大。所以系统有一个日志切割机制,当日志增长到一定级别后就会自动切割。
[[email protected] ~]# ls /var/log/messages*
/var/log/messages /var/log/messages-20180305 /var/log/messages-20180311 /var/log/messages-20180320 /var/log/messages-20180328
我们可以看到这些日志后面都跟了一些日期,这就证明它是按日期切割的,那他是这样做到的呢?
logrotate,他就是用来切割日志的,为了防止日志无限制的增加。它的配置文件/etc/logrotate.conf。

[[email protected] ~]# cat /etc/logrotate.conf

see "man logrotate" for details

rotate log files weekly

weekly(按周切割)

keep 4 weeks worth of backlogs

rotate 4(保留4个)

create new (empty) log files after rotating old ones

create(创建新文件)

use date as a suffix of the rotated file

dateext(后缀名ext代表日期)
以下省略

dmesg命令
将系统里面的硬件先关的日志列出来,它保存在内存中,它并不是一个文件。比如我们的硬盘或者网卡出现问题,他都会记录在这里。我们除了看/var/log/messages外,还要运行这个命令查看硬件的故障和错误。参数-c可以清空内容,但重启后又会自动添加内容。

/var/log/dmesg
这是一个日志文件,他是记录系统启动的日志,和dmesg命令没有关系。

last命令,调用的文件/var/log/wtmp
用来查看正确的登陆历史,他是一个二进制文件,不能cat查看,只能用last来查看。

lastb命令查看登录失败的用户,对应的文件时/var/log/btmp /var/log/secure
他是记录登录失败的日志。他也是一个二进制文件,不能cat查看。

/var/log/secure安全日志
他会记录登录相关以及pam相关等等的日志。如果有人暴力破解我们设备,那么也会记录到这个文件中。

screen工具
虚拟终端。比如我们运行一个脚本,要运行很长时间,而且他会输出一些东西,也即意味着中途不能中断。
有两个办法解决,首先就是放到后台去执行,用命令nohup+执行命令+日志+&符号。即使终端断开,他依然会在后台执行。虽然解决理了防止任务中断的问题,但是没有办法实时查看任务输出的东西,毕竟他在后台。
还有一种方法就是将任务放在这个终端中,然后我们退出之前把这个screen放到后台去,随用随调。

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

ctral a组合键再按d退出虚拟终端,但不是结束

screen -ls 查看虚拟终端列表

screen -r id 进入指定的终端

screen -S (自定义名字)

原文地址:http://blog.51cto.com/13067688/2092248

时间: 2024-08-24 15:47:57

八周三课 rsync通过服务同步,linux系统日志,screen工具的相关文章

10.32/10.33 rsync通过服务同步 10.34 linux系统日志 screen工具

通过后台服务的方式 在远程主机上建立一个rsync的服务器,在服务器上配置好rsync的各种应用,然后将本机作为rsync的一个客户端连接远程的rsync服务器. 在128主机上建立并配置rsync的配置文件/etc/rsyncd.conf,把你的rsyncd.conf编辑成以下内容: [[email protected] ~]# vim /etc/rsyncd.conf # /etc/rsyncd: configuration file for rsync daemon mode port=8

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

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

10.32/10.33 rsync通过服务同步 10.34 linux系统日志 10.35 scre

八周三次课 10.32/10.33 rsync通过服务同步 10.34 linux系统日志 10.35 screen工具 10.32/10.33 rsync通过服务同步 编辑: rsync.conf 配置文件:/etc/rsync.conf 启动rsync服务 10.34 linux系统日志 10.35 screen工具 原文地址:http://blog.51cto.com/wbyyy/2067957

10.32/10.33 rsync通过服务同步10.34 linux系统日志10.35 screen工具

- 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.csdn.net/zhangfn2011/article/details/6776925 # 10.32 rsync通过服务来同步 上 - rsync通过服务的方式同步 - 要编辑配置文件/etc/

rsync通过服务同步、linux系统日志、screen工具

rsync通过服务同步 /etc/rsyncd.conf是rsync的默认配置文件,该配置文件不存在,需要编辑内容 主服务器上的操作: 1.[[email protected] rsync]# cat /etc/rsyncd.conf #启动的端口 port=873 #log文件 log file=/var/log/rsync.log pid file=/var/run/rsyncd.pid #必须写服务端的IP address=192.168.3.83 [test] #模块存的地方 path=

Linux CentOS7 rsync通过服务同步、linux系统日志、screen工具

一.rsync通过服务同步 rsyncd.conf配置文件详解 port:指定在哪个端口启动rsyncd服务,默认是873端口. log file:指定日志文件. pid file:指定pid文件,这个文件的作用涉及服务的启动.停止等进程管理操作. address:指定启动rsyncd服务的IP.假如你的机器有多个IP,就可以指定由其中一个启动rsyncd服务,如果不指定该参数,默认是在全部IP上启动. []:指定模块名,里面内容自定义. path:指定数据存放的路径. use chroot t

rsync用服务同步文件、系统日志、screen工具

一.rsync通过服务同步 1?要编辑配置文件:/etc/rsyncd.conf2.启动rsync --daemon (检测是否启动:ps aux |grep rsync)3.格式:rsync -av test1/192.168.133.11.130::module/dir/ 例:从b机用rsync服务同步文件到a机1?在a机上编辑:/etc/rsyncd.conf文件.加入下面一段rsync.conf的样例,更改储存路径为/tmp/rsync , port=873 //指定端口 log fil

10.32/10.33 rsync通过服务同步 10.34 linux系统日志 10.35 screen工具

[[email protected] ~]# mkdir /tmp/rsync[[email protected] ~]# chmod 777 /tmp/rsync 第二个机器 [[email protected] ~]# rsync -avP /tmp/lizhipeng.txt 192.168.5.128::test/lizhipeng0129.txtrsync: failed to connect to 192.168.5.128 (192.168.5.128): No route to

rsync通过服务同步

对rsyncd.conf文件内容详解:port=873 //监听端口默认为873,可以自定义端口log file=/var/log/rsync.log //指定日志路径pid file=/var/run/rsyncd.pid //指定pid路径address=192.168.202.130 //可以自定义绑定的ip[test] //test为模块名,可以自定义path=/root/rsync // 指定该模块对应路径use chroot=true //是否限定在该目录下,默认为true,当有软连