5月15日

10.32-10.33 rsync经过服务同步linux


. rsync经过服务同步vim

在远程主机上创建一个rsync的服务器,在服务器上配置好rsync的各类应用,而后将本机做为rsync的一个客户端链接远程的rsync服务器。安全

实验测试:服务器

1.1 找两台主机,一个IP是172.16.111.100,另外一个是172.16.111.110。网络

1.2在100主机上创建并配置rsync的配置文件/etc/rsyncd.conf,以下所示less

命令:vi /etc/rsyncd.conf ssh

blob.png 

启动服务: rsync --daemon ide

blob.png 

2.在172.16.111.110机子上操做(在客户端机器上操做,这个是从客户端将文件推送到服务端)工具

命令:rsync -avP /tmp/1.txt 172.16.111.100::test/momo.txt 测试

blob.png 

[root@localhost ~]# telnet 172.16.111.110 873 //检测端口是否通讯

[root@localhost ~]# iptables -nvL //查看iptables Chain INPUT (policy ACCEPT 0 packets, 0 bytes)  pkts bytes target     prot opt in     out     source               destination          10951   16M ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED     4   286 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0               15   868 INPUT_direct  all  --  *      *       0.0.0.0/0            0.0.0.0/0               15   868 INPUT_ZONES_SOURCE  all  --  *      *       0.0.0.0/0            0.0.0.0/0               15   868 INPUT_ZONES  all  --  *      *       0.0.0.0/0            0.0.0.0/0                0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate INVALID     0     0 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited

 [root@localhost ~]# systemctl stop firewalld //关闭firewalld服务 

[root@localhost ~]# 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   

2.1 172.16.111.110机子上操做(在客户端机器上操做,这个是从服务端拉取文件到客户端) 

命令:rsync -avP 172.16.111.100::test/momo.txt /tmp/2.txt 

blob.png 

 

三、rsyncd.conf 样例:

port=873 

log file=/var/log/rsync.log 

pid file=/var/run/rsyncd.pid 

address=172.16.111.100

[test] 

path=/tmp/rsync 

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=172.16.111.110

上面的 port,log file,pid file,address都属于全局配置。[]内的test是模块名,如下属于模块配置。一个配置文件能够有多个不一样模块

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

 10.34 linux系统日志


 1、linux系统日志

日志记录了系统天天发生的各类各样的事情,好比监测系统情况、排查系统故障等,你能够经过日志来检查错误发生的缘由,或者受到***时***留下的痕迹。日志的主要功能是审计和监测,还能够实时的监测系统状态,监测和追踪侵入者等。

 /var/log/messages 核心的系统日志,包含了系统启动时的引导消息,以及系统运行时的其余状态信息,I/0错误、网络错误和其余系统错误都会记录到这个文件中来。一般状况下,/var/log/messages是作故障诊断时首先要查看的文件。

1.1 日志切割配置文件

系统上有不少服务,若是都把服务日志放到这个文件/var/log/messages里那岂不是会很大,因此系统有一个日志轮询的机制,每星期切换一个日志,切换后的日志名字相似于messages-20171206,会存放在/var/log/目录下面,连同messages一共有5个这样的日志文件,这里的20171206就是日期,它表示日志切割的年月日。它的配置文件是/etc/logrotate.conf(若是没有特殊要求,请不要修改这个配置文件),示例以下:

blob.png 

备注:/var/log/messages是由rsyslogd这个守护进程产生的,若是中止这个服务则系统不会产生/var/log/messages,因此这个服务不要中止。rsyslogd服务的配置文件为/etc/rsyslog,conf,这个文件定义了日志的级别,若没有特殊需求,这个配置文件是不须要修改的

参考文章:http://www.javashuo.com/article/p-tauwscem-r.html

1.2 dmesg

dmesg 这个命令显示系统的启动信息,在开机时启动,并存储在内存中。若是某个硬件有问题(如网卡),能够在这里看到,示例以下

命令:dmesg | head    (dmesg -c 能够清空掉 )

blob.png 

1.3 last命令 来查看正确的登陆历史,包括reboot。调用的文件/var/log/wtmp 

blob.png 

last命令实际读取的是/var/log/wtmp文件,但这个文件不能直接用cat,vi,vim,head,tail查看。

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

blob.png 

1.5 /var/log/dmesg 系统启动的日志文件 

blob.png 

1.6 安全日志   /var/log/secure

/var/log/secure记录的也是和登陆有关的信息,如ssh登陆失败的信息在这里均可以记录到。

命令:less /var/log/secure

blob.png 

 


10.35 screen工具


1、screen工具

有时咱们要执行一个命令或者脚本,须要几小时甚至几天,在这个过程当中,若是中途断网或出现其余意外状况怎么办?如下两种方法就是来避免这情况发生的。

1. nohup 命令

首先写一个sleep.sh脚本,而后把它放到后台执行,示例以下:

[root@gary-tao ~]# nohup /usr/local/sbin/sleep.sh &

上例中,直接在sleep.sh后面加&虽然能够在后台运行,可是当退出该终端时,这个脚本颇有可能也会退出,因此在前面加上nohup就没有问题了,执行后在当前目录下生成一个nohup的文件,它的做用就是防止进程意外中断,而且会把输出信息记录到nohup文件中。

2. screen工具的使用

screen是一个虚拟终端,简单来讲,screen是一个能够在多个进程之间多路复用一个物理终端的窗口管理器screen中有会话的概念,用户能够在一个screen会话中建立多个screen会话窗口,在每个screen窗口中就像操做一个真实的ssh链接窗口同样。

2.1 首先 screen工具安装  yum install -y screen

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

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

blob.png 

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

blob.png 

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

blob.png 

2.5 screen -S aming 给对应的虚拟终端命名

blob.png 

2.6 screen -r cfk 直接经过命名的名称进入对应的虚拟终端

blob.png