36.rsync下 日志 screen

10.32/10.33 rsync通过服务同步

10.34 linux系统日志

10.35 screen工具

 

 

10.32/10.33 rsync通过服务同步:

 

rsync还可以通过服务的方式同步。那需要开启一个服务,他的架构是cs架构,客户端服务端。服务端的话开启rsync服务,并且要监听一个端口,默认是873,而且这个端口是可以自定义的。我们开启这个服务之后呢,客户端就可以根据这个873端口和服务端通信、可以传输数据。他的命令模式为 rsync -av test1/ 192.168.159.130::module/dir/

 

 

rsync通过服务的方式同步

~1. 要编辑配置文件 vi /etc/rsyncd.conf 我们在启动服务之前,要先编辑这个配置文件

尽量把配置文件写在这个文件里,我们可以使用rsync --daemon来直接启动服务

rsyncd.conf样例,可以直接把样例复制到配置文件里

port=873

log file=/var/log/rsync.log

pid file=/var/run/rsyncd.pid

address=192.168.133.130 不写此行的话,就会显示0000,绑定全部的IP

[test] 方括号括起来的是模块的名字

path=/root/rsync 可可改成tmp目录下

use chroot=true

max connections=4

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.133.0/24 允许哪些机器去做同步

(允许哪个IP过来连) 多个的话用空格来间隔 也可以写IP段

 

rsyncd.conf配置文件详解

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

log file:指定日志文件。

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

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

[]:指定模块名,里面内容自定义。这写什么,同步的时候::后面就写什么

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

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

max connections:指定最大的连接数,默认是0,即没有限制。

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

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

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

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

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

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

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

rsync -avL test@192.168.133.130::test/test1/ /tmp/test8/ --password-file=/etc/pass

其中/etc/pass内容就是一个密码,权限要改为600

 

 

~2. 启动服务rsync --daemon

启动之后ps aux | grep rsync查看一下是否有。netstat -lntp看一下他的端口是否是我们设置的873端口。

~3. 运行命令的格式写法: rsync -av test1/ 192.168.159.130::module/dir/

有两个冒号

加--port 8830 可指定端口为8830 rsync -av --port 8830test1/ 192.168.159.130::module/dir/

小知识:telnet 192.168.159.130 873 是检测一个IP端口是否通的一个命令

 

 

实例:

[root@axinlinux-01 ~]# vi /etc/rsyncd.conf

port=873

log file=/var/log/rsync.log

pid file=/var/run/rsyncd.pid

address=192.168.133.130 因为做实验时。ps或netstat是都搜不到,所以就删掉了

[test]

path=/tmp/rsync 为方便做实验,改到了tmp下

use chroot=true

max connections=4

read only=no

list=true

uid=root

gid=root

auth users=test

secrets file=/etc/rsyncd.passwd

hosts allow=192.168.159.128

 

[root@axinlinux-01 ~]# rsync --daemon

[root@axinlinux-01 ~]# ps aux | grep rsync

root 2396 0.0 0.0 114740 584 ? Ss 22:10 0:00 rsync --daemon

root 2416 0.0 0.0 112720 980 pts/0 S+ 22:15 0:00 grep --color=auto rsync

[root@axinlinux-01 ~]# 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 992/sshd

tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1194/master

tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN 2396/rsync

 

[root@aminglinux-02 ~]# rsync -avP /tmp/axin.txt 192.168.159.130::test/axin-02.txt 我们从目标机器上直接拉就可以了

rsync: failed to connect to 192.168.159.130 (192.168.159.130): Connection refused (111) 报错

rsync error: error in socket IO (code 10) at clientserver.c(125) [sender=3.1.2]

[root@aminglinux-02 ~]# ping 192.168.159.130 ping自己

PING 192.168.159.130 (192.168.159.130) 56(84) bytes of data.

64 bytes from 192.168.159.130: icmp_seq=1 ttl=64 time=0.091 ms

[root@aminglinux-02 ~]# telnet 192.168.159.130 873 telnet查看端口

Trying 192.168.159.130... 报错

telnet: connect to address 192.168.159.130: Connection refused

[root@aminglinux-02 ~]# iptables -nvL 查看规则

Chain IN_work_deny (1 references) 发现为清零

pkts bytes target prot opt in out source destination

 

Chain IN_work_log (1 references)

pkts bytes target prot opt in out source destination

 

Chain OUTPUT_direct (1 references)

pkts bytes target prot opt in out source destination

[root@aminglinux-02 ~]# systemctl stop firewalld (对方的firewalld也要停掉) 关闭两方的firewalld。理论上既可以了

阿鑫的机器telnet还是不成功

[root@aminglinux-02 ~]# rsync -avP /tmp/axin.txt 192.168.159.130::test/axin-02.txt 在拉取就可以了,输入密码。不想输入密码也可以,要改一下那个配置文件

 

 

----------------------------------------------------------------------------------------------------------------------------------------------------

 

 

 

 

10.34 linux系统日志:(重要)

 

 

服务在启动或运行的过程当中,可能会遇到一些问题。比如mysql服务启动不了,除了看他的报错,还要关注他的日志。很多的错误会记录在日志当中,而不会出现在屏幕上

 

~1. /var/log/messages

这个是linux中总的日志,好多日志都记录在这个下面。除非一些服务有定义一些单独的日志

~2. la /var/log/messages* 查看他的切割后的日志

logrotate

日志的内置切割工具。每周切割一次

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

https://my.oschina.net/u/2000675/blog/908189 可参考这个日志

 

~4. dmesg 命令

系统硬件相关的日志列出来。这个日志是保存在内存中的,并不是一个文件

用在,比如硬件损坏或网卡有问题了,都可以记录在这里。除了查看/var/log/messages之外,还要去查看这个关于硬件的错误故障。

-c清空这些日志

~5. /var/log/dmesg

跟dmesg命令没有关系。就是系统启动的日志记录的一些信息

~6. last 命令。

调用的文件路径是/var/log/wtmp二进制文件,无法cat,只能用last查看信息

用来查看正确的登录历史

~7. lastb 命令。

查看的登录失败的用户。

对应的文件是/var/log/btmp,也是二进制文件

比如被人暴力破解,就会记录在这个命令里

~8. /var/log/secure 安全日志

我们登录一个系统,验证成功,会在这里记录一个日志。如果没有成功也会去记录

比如,被暴力破解,多次登录。我们可以tail -f /var/log/secure(动态查看这个文件后10条)。我们在另一个终端错误登录一次,就会在这个日志里显示

 

 

 

 

 

 

----------------------------------------------------------------------------------------------------------------------------------------------------

 

 

10.35 screen工具:

 

 

screen虚拟的一个屏幕。也可以把他认为是一个虚拟的终端。那用在什么场景下呢:

假如有一个需求,去执行一个脚本。那这个脚本指定时间很长,可能需要一天一夜。而且这个脚本会输出一些东西出来,那也就意味着这个脚本不能中途中断。我们远程是需要网络的,不能网络出任何差错,那所以有两个办法:

第一个办法,把这个任务丢到后台去,然后给他加一个日志的输出。虽然没有输出到屏幕上,但可以把他输出到日志里

可以用这个命令nohup

~1. nohup command &

执行命令+执行日志+&

意思就是即使终端断开,他依然可以在后台执行

那我们虽然解决了任务中断的问题,但没有办法实时的看到任务输出的东西,因为在后台。我们是可以写一个日志,但我们不能在屏幕上看到输出的

 

screen工具(为了不让一个任务意外中断) 可多个screen一起使用

我可以要把我执行的命令放到这个终端里,然后我可以退出我这个pts0或pts1这个远程终端之前,我先把这个screen丢到后台去,我随时用可以随时调出来

~2.screen是一个虚拟终端

~3. yum install -y screen

 

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

也就是重新进入了一个窗口,那这个窗口就是一个虚拟终端

~5. ctrl a组合键,再按 d 退出虚拟终端,但不是结束

暂时退出来,还可以再进去

~6. screen -ls 查看虚拟终端列表 (可支持多个screen)

还有这个ID号

[root@axinlinux-01 ~]# screen -ls

There are screens on:

1615.pts-0.axinlinux-01 (Detached)

1600.pts-0.axinlinux-01 (Detached)

1583.pts-0.axinlinux-01 (Detached)

3 Sockets in /var/run/screen/S-root.

~7. screen -r id 进入指定的终端

screen -r 加screen -ls查看的ID号,就可以回到那个虚拟终端

 

~8. screen -S “aming”

因为多个screen的时候,我们分不清那个是做什么的。

-S可以在创建这个screen的时候加双引号,给他创建一个名字。在-ls的时候更加方便。并且-r进入的时候可以不加ID号,直接双引号写创建的名字就可以了

[root@axinlinux-01 ~]# screen -S "vmstat 1"

[detached from 1646.vmstat 1]

[root@axinlinux-01 ~]# screen -ls

There are screens on:

1646.vmstat 1 (Detached) 我们会看到我们创建的这个名叫 vmsat 1 的screen

[root@axinlinux-01 ~]# screen -r "vmstat 1" -r的时候写创建的名字也是可以的

 

 

实例:

[root@axinlinux-01 ~]# screen 直接回车,进入虚拟终端(也就是新窗口)

在新窗口我们可以执行vmstat 1(不可终端的任务)

[detached from 1448.pts-0.axinlinux-01] 按ctrl+a,再按d(暂时退出来)

[root@axinlinux-01 ~]# screen -ls 查看虚拟终端的列表,和这个id号1448

There is a screen on:

1448.pts-0.axinlinux-01 (Detached)

1 Socket in /var/run/screen/S-root.

[root@axinlinux-01 ~]# screen -r 1448 screen -r 1448 回到这个虚拟终端

-

--

r b swpd free buff cache si so bi bo in cs us sy id wa st

1 0 0 1440116 2076 302896 0 0 0 0 59 50 0 0 100 0 0

0 0 0 1440116 2076 302896 0 0 0 0 51 46 0 0 100 0 0

^C

[root@axinlinux-01 ~]# exit 如果不需要这个screen,在虚拟终端里直接敲 exit,把它杀死就可以了

[root@axinlinux-01 ~]# screen -ls 回到linux,我们在screen -l看,就没有了

No Sockets found in /var/run/screen/S-root.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

转载于:https://my.oschina.net/u/3866149/blog/1860407

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值