36.rsync下 日志 screen

10.32/10.33 rsync经过服务同步mysql

10.34 linux系统日志linux

10.35 screen工具sql

 

 

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来直接启动服务ssh

rsyncd.conf样例,能够直接把样例复制到配置文件里socket

port=873tcp

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 日志切割配置文件

http://www.javashuo.com/article/p-tauwscem-r.html 可参考这个日志

 

~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.

相关文章
相关标签/搜索