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 获得更多信息。
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或者网段,如果是多个,中间用空格隔开。
修改完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次课的主要内容,如果未能解决你的问题,请参考以下文章