三十六、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:进入指定的终端。