第8周5月15日任务

课程内容:

10.32/10.33 rsync通过服务同步
10.34 linux系统日志
10.35 screen工具

扩展
1. Linux日志文件总管logrotate http://linux.cn/article-4126-1.html
2. xargs用法详解 http://blog.csdn.net/zhangfn2011/article/details/6776925

10.32/10.33 rsync通过服务同步

rsync还有一种方式是通过服务的方式同步,这种服务方式首先需要开启一个服务,它的架构是CS架构,需要客服端和服务端,服务端开启一个服务rsync服务,并且要监听一个端口,默认是873,而且这个端口是可以自定义的,开启完端口后客户端就可以和服务端873端口进行通信传输数据。

命令格式:rsync -av test1/ 192.168.133.130::module/dir/ (有2个冒号)

在启动服务之前,我们要先编辑配置文件,默认保存在这个路径/etc/rsyncd.conf ,也可以写到其他地方,但是写到别的地方之后,假如要开启服务,就不能够直接这样运行了(启动服务rsync --daemon)还需要加--configfile等于它的路径,如果写到默认的路径就可以直接使用rsync --daemon 启动服务,也就可以省掉--configfile的那些参数了。

操作实例如下:

①、[root@jimmylinux-001 ~]# vi /etc/rsyncd.conf  编辑配置文件,并且在#下一行写入以下信息。

port=873
log file=/var/log/rsync.log
pid file=/var/run/rsyncd.pid
address=192.168.52.128
[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.52.129

②、[root@jimmylinux-001 ~]# rsync --daemon  启动服务

③、[root@jimmylinux-001 ~]# ps aux |grep rsync  检查服务是否启动

④、[root@jimmylinux-001 ~]# netstat -lntp  监听端口873,如果没有指定监听IP,就会绑定0.0.0.0全部的网段和IP。

以上的操作就是对服务端的设置,现在服务端已经弄好了。

再执行以下步骤:

[root@jimmylinux-001 ~]# vi /etc/rsyncd.conf  重新修改配置文件,把路径设置成path=/tmp/rsync
[root@jimmylinux-001 ~]# mkdir /tmp/rsync/  在tmp目录下新建rsync目录

[root@jimmylinux-001 ~]# chmod 777 /tmp/rsync/  把rsync目录设置为777权限

在limingsong-002机器上运行命令rsync -avP /tmp/666.txt 192.168.52.128::test/666-002.txt 同步一个文件到001机器上面去

报错提示没有路由到远程的机器,遇到这样情况首先检查下网络连接情况,ping下001的机器是否可以ping通,如果能够ping通,就再检查下Telnet 873端口通不通,默认没有Telnet,使用yum安装。

Telnet也提示没有路由到远程的机器,这种情况一般都是因为防火墙开启导致,停掉001和002 2台服务器firewalld即可。

[root@jimmylinux-002 ~]# iptables -nvL

[root@jimmylinux-002 ~]# systemctl stop firewalld  停掉firewalld服务

重新运行Telnet如果出现以下界面说明可以连接到873端口,按Ctrl+] 然后quit可以退出Telnet界面。

这个时候再运行rsync -avP /tmp/666.txt 192.168.52.128::test/666-002.txt

可以同步推送到001机器,当然也可以在002机器上把文件拉回来。

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。

在配置文件中如果修改了端口号为8730,那么一定要重启服务后才会生效。

[root@jimmylinux-001 ~]# killall rsync  killall所有rsync服务

[root@jimmylinux-001 ~]# ps aux |grep rsync  查看是否有启动rsync服务

[root@jimmylinux-001 ~]# rsync --daemon  启动rsync服务

[root@jimmylinux-002 ~]# rsync -avP 192.168.52.128::test/666-002.txt /tmp/888.txt

通过上面3个步骤操作后再去同步就会报错,因为没有指定端口号8730。

[root@jimmylinux-002 ~]# rsync -avP --port 8730 192.168.52.128::test/666-002.txt /tmp/888.txt  需要指定端口--port 8730这样才是正确的操作方式

max connections:指定最大的连接数,默认是0,即没有限制。
read only ture|false:如果服务端设置为只读true,则不能上传到该模块指定的路径下。
list:表示当用户查询该服务器上的可用模块时,该模块是否被列出,设定为true则列出,false则隐藏。

[root@jimmylinux-002 ~]# rsync --port=8730 192.168.52.128::

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

hosts allow=192.168.133.132 1.1.1.1 2.2.2.2 192.168.133.0/24  hosts allow表示允许在那台机器上操作,可以指定多台机器,以空格分隔填写不同机器的IP或者指定IP段。

10.34 linux系统日志

很多服务如果启动不了,都是可以通过查看Linux系统日志找到原因。

[root@jimmylinux-001 ~]# ls /var/log/messages  列出系统的总日志

[root@jimmylinux-001 ~]# less !$  less可以查看到日志中都记录了包括:系统、网络、内核、服务 等等的日志。

如果长年累月的日志都保存到系统日志中,那么也会容易导致日志文件很大,所以就会有一种自动切割日志的机制。

/var/log/messages  系统总日志
/etc/logrotate.conf 日志切割配置文件
参考https://my.oschina.net/u/2000675/blog/908189
dmesg命令  
/var/log/dmesg 日志
last命令,调用的文件/var/log/wtmp
lastb命令查看登录失败的用户,对应的文件时/var/log/btmp
/var/log/secure

[root@jimmylinux-001 ~]# dmesg  列出所有硬件相关的日志,这个日志是保存到内存中的,并不是一个文件形式保存。比如硬盘坏了、或者网卡有问题,都会记录到这个命令中。

[root@jimmylinux-001 ~]# dmesg -c  清空日志,重启系统后会重新自动生成。

[root@jimmylinux-001 ~]# ls  /var/log/dmesg  列出系统启动日志,可以通过less /var/log/dmesg 查看。

[root@jimmylinux-001 ~]# last  用来查看正确的登录历史的日志

last命令,调用的文件是/var/log/wtmp 不能够直接cat,因为是二进制文件。

lastb命令查看登录失败的用户,对应的文件时/var/log/btmp
/var/log/secure  安全日志(记录成功或失败或被暴力破解的信息)

10.35 screen工具

为了不让一个任务意外中断
nohup command &
screen是一个虚拟终端
yum install -y screen
screen直接回车就进入了虚拟终端
ctral a组合键再按d退出虚拟终端,但不是结束
screen -ls 查看虚拟终端列表
screen -r id 进入指定的终端
screen -S jimmy
screen -r jimmy

操作实例如下:

执行screen后如果想退出虚拟终端,可以使用Ctrl+a 然后再按d 退到后台运行,实际上并没有结束screen。

[root@jimmylinux-001 ~]# screen -ls  查看虚拟终端列表

[root@jimmylinux-001 ~]# screen -r 1355  重新进入指定的screen终端

可以执行多个screen,但是除了ID号不一样,后面的全部是pts-0.jimmylinux-001,时间久了自己也不知道具体哪个screen是什么,所以为了方便操作,可以使用screen -S 自定义名称,重新进入的时候除了可以指定ID,也可以指定自定义的名称。

rsync通过服务同步、Linux系统日志、screen工具 使用介绍的更多相关文章

  1. rsync 通过服务的方式同步 linux系统日志 screen工具

    rsync 通过服务的方式同步 俩台机器传文件IP地址交叉编写. 主机1: 要编辑配置文件 /etc/rsyncd.conf rsyncd.conf样例 port=873                ...

  2. Linux CentOS7 rsync通过服务同步、linux系统日志、screen工具

    一.rsync通过服务同步 rsyncd.conf配置文件详解 port:指定在哪个端口启动rsyncd服务,默认是873端口. log file:指定日志文件. pid file:指定pid文件,这 ...

  3. rsync命令 续集 、linux系统日志、screen工具

    1.rsync 通过服务进行监听同步: 开启服务:rsync --daemon  (默认开启873端口) 需要编辑配制文件:/etc/rsyncd.conf port=873log file=/var ...

  4. linux下screen工具的简单使用

    有时候,希望即使退出终端了,下次登录linux的时候,还能回到程序的控制界面,这个时候,screen工具就很有用了例如,写了一个从控制台读取屏幕输入的程序input_test,如果从终端退出了,下次登 ...

  5. Linux sar命令工具详细介绍

    sar命令工具详细介绍 by:授客 QQ:1033553122 由于篇幅限制,采用网盘分享, 下载地址: sar命令工具详细介绍.pdf

  6. (转)硬盘分区备忘(主分区,扩展分区和逻辑分区)以及Linux硬盘分区工具parted 介绍

    场景:最近在学习Linux的基础知识,不可避免的设计到Linux的磁盘分区,以前做过总结,但是那种总结就是复制别人的文章,总结完就不想看第二遍,所以很容易就遗忘了!清楚明白的理解分区后,我就可以在自己 ...

  7. Rsync,Linux日志及Screen工具介绍

    第十六次课 Rsync,Linux日志及Screen工具介绍 目录 一.rsync工具介绍 二.rsync常用选项 三.rsync通过ssh同步 四. rsync通过服务同步 五.linux系统日志 ...

  8. Linux系统安装时分区的介绍

    一般来说,在linux系统中都有最少两个挂载点,分别是/ (根目录)及 swap(交换分区),其中,/ 是必须的: 建议挂载的几大目录: /-------根目录,唯一必须挂载的目录.不要有任何的犹豫, ...

  9. Linux centos7 rsync工具介绍、rsync常用选项、rsync通过ssh同步

    一.rsync工具介绍 rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync.rsync是Linux系统下的文件同步和数据传输工具,它采用“rsync ...

随机推荐

  1. yii2中commands的简单应用

    class HelloController extends Controller { /** * This command echoes what you have entered as the me ...

  2. Ambari 集群时间同步配置教程

    本文原始地址:https://sitoi.cn/posts/27560.html 步骤 在时间同步主节点创建 ntp.conf 文件 在时间同步从节点上创建 ntp.conf 文件 修改所有节点时区 ...

  3. Spring入门介绍

    概述 下载地址:https://repo.spring.io/release/org/springframework/spring/ spring是开源的轻量级框架 spring核心的主要两部分 AO ...

  4. PyCharm的几个使用技巧

      PyCharm是个十分强大的Python编辑器,笔者在日常的工作中学到了很多该IDE的使用技巧,有的是从别人那里学到的,有的是自己学习的.笔者深感自己的开发能力不足,因此希望能够将这些使用技巧记录 ...

  5. 监控tomcat,自动启动

    tomcatID=`ps -ef |grep tomcat |grep -v 'grep'|awk '{print $2}'`  tomcatCount=`ps -ef|grep tomcat |gr ...

  6. AndroidOS体系结构

    首先上图一张 对照着图,我们再来看Android 系统的体系结构就爽多了.我们从底层向上进行分析. 一.Linux 内核层 Linux Kernel 基于linux2.6.其核心系统服务如安全性.内存 ...

  7. Scrapy简单上手 —— 安装与流程

    一.安装scrapy 由于scrapy依赖较多,建议使用虚拟环境 windows下pip安装(不推荐) 1.安装virtualenv pip install virtualenv 2.在你开始项目的文 ...

  8. 高性能Web动画和渲染原理系列(4)“Compositor-Pipeline演讲PPT”学习摘要

    目录 摘要 1.合成流水线 2. 预定义UI层 3. paint是什么意思 4. 分层的优势和劣势 5. 视图属性及其处理方式 6. Quads 7. Compositor Frame 8. 关于光栅 ...

  9. Ansible之playbook拓展

    一.handlers和notify结合使用触发条件 handlers同tasks是属同级,相当于一个特殊任务列表,这些任务同前文说的tasks里的任务没有本质的不同,用于当关注的资源发生变化时,才会采 ...

  10. Laravel生命周期与原理

    一旦用户(浏览器)发送了一个HTTP请求,我们的apache或者nginx一般都转到index.php,因此,之后的一系列步骤都是从index.php开始的,我们先来看一看这个文件代码. <?p ...