三十六、rsync通过服务同步、Linux系统日志、screen工具

一、rsync通过服务同步

该方式可以理解为:在远程主机上建立一个rsync的服务器,在服务器上配置好各种应用,然后本机将作为客户端连接远程的服务器。

启动服务前要先编辑配置文件/etc/rsyncd.conf

启动服务:rsync --daemon

# rsync -av /etc/passwd 192.168.93.130::/tmp/1.txt 双冒号后跟模块名。

遇到没有路由过去的先要检查网络连通性,再检查端口。

telnet IP+端口:检测端口是否通畅。

当端口不通畅时,查看iptables,停掉服务。

--port:指定端口名

配置rsync服务器:在主机上建立并配置rsync的配置文件。

# vi /etc/rsyncd.conf

port=873       指定哪个端口启动rsync服务,默认873.

log file=/var/log/rsync.log       指定日志文件

pid file=/var/run/rsync.pid   指定pid文件,该文件作用涉及服务的启动、停止等进程管理操作

address=192.168.93.130   启动rsync服务的IP,若机器上有多个IP,可指定由其中一个启动,若不指定该参数,默认在全部IP上启动。       以上四个属于全局配置

[test]       []指定模块名,内容自定义                test以下的属于模块配置

path=/tmp/rsync            数据存放的路径

use chroot=true|false   传输文件前,先chroot到path指定的目录下。默认值为true,当数据中有软链接文件,就设置成false。做这个是实现额外的安全防护,缺点是需要root权限,且不能备份指向外部的符号连接的指向的目录文件。true为限定,false为不限定。

max connections=4   指定最大的连接数,默认是0,即无限制。

read only=no  true|false 是否只读,若服务端设置为true,则不能上传到该模块指定的路径下。

list=true    表示当用户查询该服务器上的可用模块时,该模块是否被列出,true为列出,false为隐藏

uid=root   和gid指定传输文件时以哪个用户/组的身份传输。

gid=root

auth users=test  指定传输时要使用的文件名。

secrets file=/etc/rsyncd.passwd   指定密码文件,连同上面的参数,若不指定,则不使用密码验证,该密码文件的权限一定要是600.

hosts allow=192.168.93.2  表示被允许连接该模块的主机,可以是IP或者网段,若是多个,用空格隔开。

配置文件分两部分:全局配置和模块配置,一个文件中有多个模块,模块名可自定义,格式如上,模块配置也可以配置成全局参数。

用法:

# rsync --prot=873 192.168.93.130::

不加模块名,当list设置为true时,就可以查询到可用模块。因此可以设置false好点。

# rsync --prot=873 --passwd-file=/etc/rsync_pass.txt [email protected]::test

--passwd-file,指定密码文件,不用输入密码。

二、Linux系统日志

监控系统状况、排查系统故障等,可以通过日志来检查错误发生的原因,或***者的痕迹。主要功能是审计与监测,可以实时监测系统状态,监测和追踪***者等。

(一)/var/log/messages

Linux系统的总日志文件,核心系统日志文件。

系统分割日志。logrotate                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                

weekly:每周切割一次

rotate 4:保留四个

create:创建一个新的文件

dateext:后缀名

compress:是否要压缩,.tar.gz格式

由/var/run/syslogd.pid这个服务决定

(二)dmesg命令

把硬件相关的日志列出来,这些日志保存在内存中。要多关注这个命令,可以显示系统的启动信息,如果某个硬件有问题,用这个也可以看到。

/var/log/dmesg该文件就是一个系统启动的文件,和这个命令无关。

(三)last命令

查看正确的登录历史,包括reboot

/var/log/wtmp调用的就是这个日志,这是一个二进制文件,不能cat。

和last对应的是lastb,错误的登录日志,对应的文件/var/log/btmp。

当系统被暴力破解时,这个btmp文件就会有很多条。

安全日志:/var/log/secure。

三、screen工具

当执行命令或写脚本需要太长时间,为了避免中途断网或其他意外情况发生。

(一)nohup

nohup 执行命令+日志 &:这样用,丢到后台去

(二)screen工具

screen是一个虚拟终端。

yum install -y screen

screen直接回车就进入到虚拟终端。

先Ctrl+a,再按d退出该screen会话,这是把screen丢到后台,没有结束

结束会话按Ctrl+d或输入exit。

退出后想再登录,可用命令screen -r [screen编号]

若当前只打开了一个会话,后面的编号可以省略。

当有某个需要长时间运行的命令,或者脚本时,就打开一个screen会话,然后运行任务,再Ctrl+a丢后台再按d退出会话。这样不影响终端窗口上的任何操作。

screen -ls:查看已经打开的screen会话

screen -S “test”:-S选项,自定义名字。

screen -r:进入指定的终端。