2018.1.31 8周3次课

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2018.1.31 8周3次课相关的知识,希望对你有一定的参考价值。

八周三次课(1月31日)

10.32/10.33 rsync通过服务同步

10.34 linux系统日志

10.35 screen工具

10.32/10.33 rsync通过服务同步

rsync 通过服务的方式同步

这种方式可以理解为:在远程主机上建立一个rsync的服务器, 在服务器上配置好rsync的各种应用,然后将本机作为rsync的一个客户端连接远程的rsync服务器。

  • 编辑配置文件/etc/rsyncd.conf

rsyncd.conf样例

port=873

log file=/var/log/rsync.log

pid file=/var/run/rsyncd.pid

address=192.168.37.100

[test]

path=/root/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=192.168.37.101 1.1.1.1 2.2.2.2  192.168.37.0/24

  • 启动服务rsync --daemon

技术分享图片

把文件放到/tmp/目录下

修改配置文件里的路径:path=/tmp/rsync

创建目录,修改目录权限

技术分享图片

  • 02主机文件同步到01主机上

格式:rsync -avP test1/ 192.168.37.100::module/dir/

module:指的是01机器上的配置文件/etc/rsyncd.conf里的[test]

[[email protected] ~]# rsync -avP /tmp/1.txt 192.168.37.100::test/aming-02.txt

技术分享图片

无法连接,没有路由。

检查网络

技术分享图片

技术分享图片

技术分享图片

问题出在873端口不通

分别关闭两台机器的firewalld服务

技术分享图片

技术分享图片

技术分享图片

端口连接成功,再次运行命令,出现要输入密码

技术分享图片

可以在01机器编辑配置文件/etc/rsyncd.conf里,关闭输入密码的选项:

技术分享图片

再次运行命令

技术分享图片

rsync命令以后看到有2个:的命令形式就是使用/etc/rsyncd.conf

技术分享图片

拉到本机上

技术分享图片

技术分享图片

  • rsyncd.conf配置文件详解

其中配置文件分为两部分:全局配置部分和模块配置部分。全局部分就是几个参数,rsyncd.conf中的port、log file、pid file和address都属于全局配置;而[test]以下部分就是模块配置部分了。一个配置文件中可以有多个模块,模块名可自定义,格式就像rsyncd.conf中的这样。其实模块中的一些参数(如use chroot、max connections、udi、gid、auth users、secrets file以及hosts allow都可以配置成全局参数。当然这里并未给出所有的参数,你可以通过命令man rsyncd.conf 获得更多信息。

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

  2. log file:指定日志文件。

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

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

  5. [ ]:指定模块名,里面内容自定义。

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

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

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

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

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

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

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

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

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

修改完rsync.conf配置文件后不需要重启rsyncd服务,配置文件是即时生效的。

数据中有软连接文件:更改use chroot=false(01主机)

[[email protected] ~]#sed -i 's/use chroot=true/use chroot=false/' /etc/rsyncd.conf

[[email protected] ~]#grep 'use chroot' /etc/rsyncd.conf

use chroot=false

  • 更改端口

port=8730:

命令里要加--port 730

技术分享图片

技术分享图片

  • 列出模块名

技术分享图片

[[email protected] ~]#sed -i 's/list=true/list=false/' /etc/rsyncd.conf

[[email protected] ~]#grep 'list' /etc/rsyncd.conf

list=false

技术分享图片

  • 在传输过程中指定用户名和密码:

在/etc/rsyncd.conf配置文件中,设置如下

auth users=test

secrets file=/etc/rsyncd.passwd

编辑/etc/rsyncd.passwd,输入格式:用户名:密码。(01主机)

技术分享图片

文件权限设置600,

技术分享图片

技术分享图片

  • 指定密码文件,同步时指定密码文件,就可以省去输入密码的步骤

在客户机(02机器)上编辑一个密码文件,只写密码

技术分享图片

文件权限设置600

技术分享图片

技术分享图片

10.34 linux系统日志

日志记录了系统每天发生的各种各样的事情,比如监测系统状况、排查系统故障等。你可以通过日志来检查错误发生的原因,或者受到攻击时攻击者留下的痕迹。日志的主要功能是审计和监测,还可以实时地监测系统状态,监测和追踪侵人者等。

  • /var/log/messages

它是核心系统日志文件, 包含了系统启动时的引导消息,以及系统运行时的其他状态消息。I/O错误、网络错误和其他系统错误都会记录到这个文件中其他信息, 比如某个人的身份切换为root,以及用户自定义安装的软件(Apache)的日志也会在这里列出。

通常情况下,/var/log/messages是做故障诊断时首先要查看的文件。那你肯定会说,这么多日志都记录到这个文件中,如果服务器上有很多服务,岂不是这个文件很快就会写得很大?没错,但是系统有一个日志轮询的机制,每星期切换一个日志,切换后的日志名字类似于messages-20170301,会存放在/var/log/目录下面, 连同messages一共有5个这样的日志文件。这里的20170301就是日期,它表示日志切割的年月 日。在centos 5里, 这个后缀并不是日期,而是数字1 、 2、 3或4。 这是通过logrotate工具的控制来实现的,它的配置文件是/etc/logrotate.conf (如果没有特殊需求,请不要修改这个配置文件)。

技术分享图片

查看/etc/logrotate.conf配置文件

技术分享图片

技术分享图片

/var/log/messages是由rsyslogd这个守护进程产生的,如果停止这个服务则系统不会产生/var/log/messages,所以这个服务不要停止。rsyslogd服务的配置文件为/etc/rsyslog.conf。这个文件定义了日志的级别。若没有特殊需求,这个配置文件是不需要修改的。

技术分享图片

  • dmesg命令

它可以显示系统的启动信息,如果你的某个硬件有问题(比如网卡),用这个命令也是可以看到的。这个是日志,保存在内存中。

-c:可以清空,重启后又会生成新的日志

  • /var/log/dmesg 日志文件:系统启动时的日志,记录了一些信息。

  • last命令,调用的文件/var/log/wtmp

用来查看登录Linux的历史信息

技术分享图片

上例中,从左至右依次为账户名称、登录终端、登录客户端IP、登录日期及时长。last命令输出的信息实际上是读取了二进制日志文件/var/log/wtmp,只是这个文件不能直接使用cat、vim、head、tail等工具查看。

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

技术分享图片

另外/var/log/secure也是和登录信息有关的日志文件。该日志文件记录验证和授权等方面的信息。 比如ssh登录系统成功或者失败时,相关的信息都会记录在这个日志里

技术分享图片

技术分享图片

10.35 screen工具

有时我们要执行一个命令或者脚本,需要几小时甚至几天,在这个过程中,如果中途断网或出现其他意外情况怎么办?当然,你可以把命令或者脚本放到后台运行,不过也不保险 下面阿铭就介绍两种方法来避免这类状况发生。

  • nohup command &

command后面加&虽然可以在后台运行,但是当退出该终端时,这个脚本很有可能也会退出。所以在前面加nohup就没有问题了,执行后会在当前目录下生成一个nohup的文件,作用就是防止进程意外中断,并且会把输出信息记录到nohup文件中

但不能实时查看任务输出的东西

  • screen是一个虚拟终端

简单来说,screen是一个可以在多个进程之间多路复用一个物理终端的窗口管理器。screen中会有会话的概念, 用户可以在一个screen会话中创建多个screen窗口,在每一个screen窗口中就像操作一个真实的SSH连接窗口一样。

安装screen:yum install -y screen

screen直接回车就进入了虚拟终端,按Ctrl+A键,再按d退出该screen会话(只是退出,并没有结束,结束screen会话要按ctrl+D 键或者输人exit)

技术分享图片

技术分享图片

screen -ls 查看虚拟终端列表

技术分享图片

screen -r id 进入指定的终端

screen -S aming 自定义screen名字

screen -r aming


以上是关于2018.1.31 8周3次课的主要内容,如果未能解决你的问题,请参考以下文章

2018-1-31 8周3次课 rsync服务同步,系统日志,screen工具

2018.3.8 11周3次课

2018-3-8 11周3次课

2018.1.10 5周3次课

2018-1-10 5周3次课

2018-1-10 5周3次课 命令补全别名通配符重定向