第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. API 网关知识看这篇就足够了!

    本文已经收录自 JavaGuide (60k+ Star[Java学习+面试指南] 一份涵盖大部分Java程序员所需要掌握的核心知识.) 本文授权转载自:https://github.com/java ...

  2. VS Code 1.40 发布!可自行搭建 Web 版 VS Code!

    今天(北京时间 2019 年 11 月 8 日),微软发布了 Visual Studio Code 1.40 版本.让我们来看看有哪些主要的更新. 自建 Web 版 VS Code 前不久,微软正式发 ...

  3. Web for pentester_writeup之File Upload篇

    Web for pentester_writeup之File Upload篇 File Upload(文件上传) Example 1 直接上传一句话木马,使用蚁剑连接 成功连接,获取网站根目录 Exa ...

  4. 【模板】prufer序列

    如何构造一个prufer序列? 我们给一棵无根树的节点编上号,每次找到一个编号最小的度为1节点,删除它,并输出与它连接的点的编号,直到只剩下两个节点. 这样,我们就构造出来了一个prufer序列. 通 ...

  5. Resource Path Location Type Target runtime Apache Tomcat v6.0 is not defined(项目报错)已解决

    我换了开发工具后,导入的项目不是这里报错就是那里不错.不过,我喜欢.在tomcat里面部署项目后,定位到报错行时,总是提示我这句话:Description Resource Path Location ...

  6. tornado的使用-参数篇

    tornado的使用-参数篇

  7. pat 1069 The Black Hole of Numbers(20 分)

    1069 The Black Hole of Numbers(20 分) For any 4-digit integer except the ones with all the digits bei ...

  8. nyoj 73-比大小 (Java, 高精度)

    73-比大小 内存限制:64MB 时间限制:3000ms 特判: No 通过数:15 提交数:64 难度:3 题目描述: 给你两个很大的数,你能不能判断出他们两个数的大小呢? 比如1234567891 ...

  9. Python3.7.1(四) Print如何在输出中插入变量

    # 如果想在打印的字符串中的任意地方加入任意的变量,可以使用python的格式化输出.## 用例代码如下:s = 'Hello'x = len(s)print("The length of ...

  10. [springboot 开发单体web shop] 7. 多种形式提供商品列表

    上文回顾 上节 我们实现了仿jd的轮播广告以及商品分类的功能,并且讲解了不同的注入方式,本节我们将继续实现我们的电商主业务,商品信息的展示. 需求分析 首先,在我们开始本节编码之前,我们先来分析一下都 ...