2018.1.31 8周3次课

发布时间:2019-07-09 09:31:09编辑:auto阅读(1346)

    八周三次课(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]

    [root@aming-02 ~]# 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主机)

    [root@aming-01 ~]#sed -i 's/use chroot=true/use chroot=false/' /etc/rsyncd.conf

    [root@aming-01 ~]#grep 'use chroot' /etc/rsyncd.conf

    use chroot=false

    • 更改端口

    port=8730:

    命令里要加--port 730

    • 列出模块名

    [root@aming-01 ~]#sed -i 's/list=true/list=false/' /etc/rsyncd.conf

    [root@aming-01 ~]#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.24 7周3次课

下一篇: css3 选择器