10.32-10.33 rsync经过服务同步linux
一. rsync经过服务同步vim
在远程主机上创建一个rsync的服务器,在服务器上配置好rsync的各类应用,而后将本机做为rsync的一个客户端链接远程的rsync服务器。安全
实验测试:服务器
1.1 找两台主机,一个IP是172.16.111.100,另外一个是172.16.111.110。网络
1.2在100主机上创建并配置rsync的配置文件/etc/rsyncd.conf,以下所示:less
命令:vi /etc/rsyncd.conf ssh
启动服务: rsync --daemon ide
2.在172.16.111.110机子上操做(在客户端机器上操做,这个是从客户端将文件推送到服务端)工具
命令:rsync -avP /tmp/1.txt 172.16.111.100::test/momo.txt 测试
[root@localhost ~]# telnet 172.16.111.110 873 //检测端口是否通讯
[root@localhost ~]# iptables -nvL //查看iptables Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 10951 16M ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED 4 286 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0 15 868 INPUT_direct all -- * * 0.0.0.0/0 0.0.0.0/0 15 868 INPUT_ZONES_SOURCE all -- * * 0.0.0.0/0 0.0.0.0/0 15 868 INPUT_ZONES all -- * * 0.0.0.0/0 0.0.0.0/0 0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate INVALID 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
[root@localhost ~]# systemctl stop firewalld //关闭firewalld服务
[root@localhost ~]# iptables -nvL //查看服务已关闭
Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination
2.1 在172.16.111.110机子上操做(在客户端机器上操做,这个是从服务端拉取文件到客户端)
命令:rsync -avP 172.16.111.100::test/momo.txt /tmp/2.txt
三、rsyncd.conf 样例:
port=873
log file=/var/log/rsync.log
pid file=/var/run/rsyncd.pid
address=172.16.111.100
[test]
path=/tmp/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=172.16.111.110
上面的 port,log file,pid file,address都属于全局配置。[]内的test是模块名,如下属于模块配置。一个配置文件能够有多个不一样模块
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。
max connections:指定最大的链接数,默认是0,即没有限制。
read only ture|false:若是为true,则不能上传到该模块指定的路径下。
list:表示当用户查询该服务器上的可用模块时,该模块是否被列出,设定为true则列出,false则隐藏。
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
10.34 linux系统日志
日志记录了系统天天发生的各类各样的事情,好比监测系统情况、排查系统故障等,你能够经过日志来检查错误发生的缘由,或者受到***时***留下的痕迹。日志的主要功能是审计和监测,还能够实时的监测系统状态,监测和追踪侵入者等。
/var/log/messages 是核心的系统日志,包含了系统启动时的引导消息,以及系统运行时的其余状态信息,I/0错误、网络错误和其余系统错误都会记录到这个文件中来。一般状况下,/var/log/messages是作故障诊断时首先要查看的文件。
系统上有不少服务,若是都把服务日志放到这个文件/var/log/messages里那岂不是会很大,因此系统有一个日志轮询的机制,每星期切换一个日志,切换后的日志名字相似于messages-20171206,会存放在/var/log/目录下面,连同messages一共有5个这样的日志文件,这里的20171206就是日期,它表示日志切割的年月日。它的配置文件是/etc/logrotate.conf(若是没有特殊要求,请不要修改这个配置文件),示例以下:
备注:/var/log/messages是由rsyslogd这个守护进程产生的,若是中止这个服务则系统不会产生/var/log/messages,因此这个服务不要中止。rsyslogd服务的配置文件为/etc/rsyslog,conf,这个文件定义了日志的级别,若没有特殊需求,这个配置文件是不须要修改的。
参考文章:http://www.javashuo.com/article/p-tauwscem-r.html
dmesg 这个命令显示系统的启动信息,在开机时启动,并存储在内存中。若是某个硬件有问题(如网卡),能够在这里看到,示例以下
命令:dmesg | head (dmesg -c 能够清空掉 )
1.3 last命令 来查看正确的登陆历史,包括reboot。调用的文件/var/log/wtmp
last命令实际读取的是/var/log/wtmp文件,但这个文件不能直接用cat,vi,vim,head,tail查看。
1.4 lastb命令,查看登陆失败的用户,对应的文件时 /var/log/btmp
/var/log/secure记录的也是和登陆有关的信息,如ssh登陆失败的信息在这里均可以记录到。
10.35 screen工具
1、screen工具
有时咱们要执行一个命令或者脚本,须要几小时甚至几天,在这个过程当中,若是中途断网或出现其余意外状况怎么办?如下两种方法就是来避免这情况发生的。
1. nohup 命令
首先写一个sleep.sh脚本,而后把它放到后台执行,示例以下:
[root@gary-tao ~]# nohup /usr/local/sbin/sleep.sh &
上例中,直接在sleep.sh后面加&虽然能够在后台运行,可是当退出该终端时,这个脚本颇有可能也会退出,因此在前面加上nohup就没有问题了,执行后在当前目录下生成一个nohup的文件,它的做用就是防止进程意外中断,而且会把输出信息记录到nohup文件中。
2. screen工具的使用
screen是一个虚拟终端,简单来讲,screen是一个能够在多个进程之间多路复用一个物理终端的窗口管理器,screen中有会话的概念,用户能够在一个screen会话中建立多个screen会话窗口,在每个screen窗口中就像操做一个真实的ssh链接窗口同样。
2.1 首先 screen工具安装 yum install -y screen
2.2 screen直接回车就进入了虚拟终端
ctrl+a组合键再按d退出虚拟终端,但不是结束
2.3 screen -ls 查看虚拟终端列表
2.4 screen -r id 进入指定的终端
2.5 screen -S aming 给对应的虚拟终端命名
2.6 screen -r cfk 直接经过命名的名称进入对应的虚拟终端