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

原文地址:http://blog.51cto.com/415326/2067591

时间: 2024-07-31 19:12:44

2018.1.31 8周3次课的相关文章

2018.1.9 5周2次课

五周第二次课(1月9日) 7.6 yum更换国内源 7.7 yum下载rpm包 7.8/7.9 源码包安装 7.6 yum更换国内源 1.恢复之前备份的文件 2. 进入"/etc/yum.repos.d"目录 3.删除"CentOS-Base.repo"文件 4.下载"163.repo"文件 wget http://mirrors.163.com/.help/CentOS7-Base-163.repo curl -O http://mirrors

2018.1.16 6周2次课

六周第二次课(1月16日) 9.4/9.5 sed 9.4/9.5 sed 其实grep工具的功能还不够强大,它实现的只是查找功能,而不能把查找的内容替换.以前用vim操作文档的时候,可以查找也可以替换, 但只限于在文本内部操作,而不能输出到屏幕上.sed工具以及后面要介绍的awk工具就能把替换的文本输出到屏幕上,而且还有其他更丰富的功能.sed和awk都是流式编辑器,是针对文档的行来操作的. sed  '/x/'p filename:匹配x字符 sed  -n  '/x/'p  filenam

2018.3.1 10周2次课

十周第二次课(3月1日) 11.14/11.15 Apache和PHP结合 11.16/11.17 Apache默认虚拟主机 11.14/11.15 Apache和PHP结合 配置httpd支持php httpd主配置文件/usr/local/apache2.4/conf/httpd.conf vim /usr/local/apache2.4/conf/httpd.conf   //修改以下4个地方 ServerName 搜索ServerName,把#ServerName www.example

2018.4.23 17周4次课

十七周4次课(4月23日) 20.20 告警系统主脚本 20.21 告警系统配置文件 20.22 告警系统监控项目 20.20 告警系统主脚本 创建告警系统的目录: [[email protected] /usr/local/sbin]# mkdir mon [[email protected] /usr/local/sbin]# ls mon  nginx_log_rotate.sh [[email protected] /usr/local/sbin]# cd mon [[email pro

2018.1.8 5周1次课

五周第一次课(1月8日) 7.1 安装软件包的三种方法 7.2 rpm包介绍 7.3 rpm工具用法 7.4 yum工具用法 7.5 yum搭建本地仓库 7.1 安装软件包的三种方法 rpm工具 yum工具 源码包 在Windows系统下安装软件很简单,只要双击后缀为.exe的文件,然后根据提示连续单击"下一步" 按钮即可. 然而在Linux系统下安装软件就没那么容易了,因为我们不是在图形界面下.所以,你必须学会如何在Linux下安装软件 前面我们多次提到了yum命令,它是Red Ha

2018.1.10 5周3次课

五周第三次课(1月10日) 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.5 输入输出重定向 8.1 shell介绍 shell是系统跟计算机硬件交互时使用的中间介质,它只是系统的一个工具.实际上,在shell和计算机硬件之间还有一层东西一一系统内核.如果把计算机硬件比作一个人的躯体,那系统内核就是人的大脑.至于shell,把它比作人的五官似乎更贴切些.言归正传,用户直接面对的不是计算机硬件而是shell,用户把指令告诉shell,然后shell再传输给系

2018.1.11 5周4次课

五周第四次课(1月11日) 8.6 管道符和作业控制 8.7/8.8 shell变量 8.9 环境变量配置文件 8.6 管道符和作业控制 1. 管道符 前面已经提过管道符|,它用于将前一个指令的输出作为后一个指令的输人. 2. 作业控制 当运行进程时,常用的命令如下: 暂停:按ctrl+Z组合键 fg n:(foreground的简写)恢复第n个进程运行 bg n:(backgroup的简写)把第n个进程放到后台运行 终止:按ctrl+C组合键 jobs:把暂停或在后台的任务列出来. 命令 &:

2018.1.12 5周5次课

五周第五次课(1月12日) 8.10 shell特殊符号cut命令 8.11 sort_wc_uniq命令 8.12 tee_tr_split命令 8.13 shell特殊符号下 8.10 shell特殊符号cut命令 1. 特殊符号 * 任意个任意字符 *代表零个或多个任意字符 ? 任意一个字符 ?只代表一个任意的字符 # 注释字符 表示注释说明,即#后面的内容都会被忽略 \ 脱义字符 这个字符会将后面的特殊符号 (如*) 还原为普通字符 | 管道符 这个字符前面曾多次出现过,它的作用是将前面

2018.1.15 6周1次课

六周第一次课(1月15日) 9.1 正则介绍_grep上 9.2 grep中 9.3 grep下 在计算机科学中,对"正则表达式" 的定义是:它使用单个字符串来描述或匹配一系列符合某个句法规则的字符串.在很多文本编辑器或其他工具里,正则表达式通常用来检索和替换那些符合某个模式的文本内容.许多程序设计语言也都支持利用正则表达式进行字符串操作.对于系统管理员来讲,正则表达式贯穿在我们的日常运维工作中,无论是查找某个文档,还是查询某个日志文件并分析其容,都会用到正则表达式. 其实正则表达式只