rsync通过服务同步、linux系统日志和screen工具

rsync通过服务同步

使用服务同步需要开启rsync --daemon服务,并且需要监听端口(默认是873,端口是可以自定义的)开启完之后客户端就可以通过这个端口和服务端进行通信。
格式:
rsync -av test1/ 192.168.71.131::module/dir

小实验
两台机器:
A机器:192.168.71.131 (服务端)
B机器:192.168.71.132 (客户端)
需要将B机器的文件同步到A机器上

在开启服务之前需要编辑配置文件 /etc/rsyncd.conf 你也可以写到别的地方,但是如果写到别的地方开启服务的时候就需要在rsync --daemon后面再指定路径。

A机器编辑配置文件格式示例:(将它粘贴进 /etc/rsyncd.conf 里)

port=873
log file=/var/log/rsync.log
pid file=/var/run/rsyncd.pid
address=192.168.71.131
[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=192.168.71.132

进入编辑 /etc/rsyncd.conf 里去(我们把path后面的root改成tmp,然后再自己创建一个/tmp/rsync目录并改权限为777,这样方便操作)rsync通过服务同步、linux系统日志和screen工具

vi /etc/rsyncd.conf

另起一行粘贴我们复制的内容,然后保存退出

rsync通过服务同步、linux系统日志和screen工具

A机器启动服务
rsync --daemon

rsync通过服务同步、linux系统日志和screen工具

查看是否启动
ps aux |grep rsync

rsync通过服务同步、linux系统日志和screen工具

前期的准备工作已经做完,可以开始同步文件
从本地机器拷贝文件到远程rsync服务器中。当DST路径信息包含"::"分隔符时启动该模式
rsync [OPTION]... SRC [USER@]HOST::DEST
B机器执行以下命令:

将B机器上的/tmp/ya.txt文件备份到远程A机器,并改名为ya1.txt(test是模块的名字,就是我们刚刚加进配置文件里的大括号里的名字,这个模块名代表的路径就是我们刚刚改的/tmp/rsync)
rsync -avP /tmp/ya.txt 192.168.71.131::test/ya1.txt

rsync通过服务同步、linux系统日志和screen工具

出现了错误,检查一下网络是否连接,还有端口是否能ping通
检查网络是否连接
rsync通过服务同步、linux系统日志和screen工具

检查端口是否能用
rsync通过服务同步、linux系统日志和screen工具

端口不通,我们查看一下是否停用firewalld服务,如果没有挺就需要使用如下面停掉(不管是客户端还是服务端都要停掉)
systemctl stop firewalld

rsync通过服务同步、linux系统日志和screen工具

我们同步的时候是需要输入密码的,因为我们在给配置文件添加的行里有两行是关于密码的,我们可以把以下两行前面加上井号,这样同步的时候就可以不用输密码。(auth users=test secrets file=/etc/rsyncd.passwd)
rsync通过服务同步、linux系统日志和screen工具

然后我们从服务端拉取文件到客户端,并改名为bb.txt
rsync -avP 192.168.71.131::test/ya1.txt /tmp/bb.txt

编辑配置文件格式示例每一条什么意思如下:
port :指定在哪个端口启动rsyncd服务,默认是873端口。

log file :指定日志文件。

pid file :指定pid文件,这个文件的作用涉及服务的启动、停止等进程管理操作。

address :指定启动rsyncd服务的IP。假如你的机器有多个IP,就可以指定由其中一个启
动rsyncd服务,如果不指定该参数,默认是在全部IP上启动。

[] :指定模块名,里面内容自定义。

path :指定数据存放的路径。

max connections :指定最大的连接数,默认是0,即没有限制。

read only ture|false:如果为true,则不能上传到该模块指定的路径下。

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

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

auth users :指定传输时要使用的用户名。

secrets file :指定密码文件,该参数连同上面的参数如果不指定,则不使用密码验证。注意该密码文件的权限一定要是600。格式:用户名:密码
use chroot true|false:表示在传输文件前首先chroot到path参数所指定的目录下。这样做的原因是实现额外的安全防护,但缺点是需要以root权限,并且不能备份指向外部的符号连接所指向的目录文件。默认情况下chroot值为true,如果你的数据当中有软连接文件,建议设置成false。

hosts allow :表示被允许连接该模块的主机,可以是IP或者网段,如果是多个,中间用空格隔开。
当设置了auth users和secrets file后,客户端连服务端也需要用用户名密码了,若想在命令行中带上密码,可以设定一个密码文件 rsync -avL [email protected]::test/test1/ /tmp/test8/ --password-file=/etc/pass 其中/etc/pass内容就是一个密码,权限要改为600

use chroot最好改成false,不然如果要同步的目录里有软连接并且你加了L(软连接源文件不在指定的目录里)就会报错。

linux系统日志

系统总日志存放地址,几乎系统发生的错误信息以及重要信息都会记录在这个文件里
less /var/log/messages

rsync通过服务同步、linux系统日志和screen工具

日志文件的轮替(切割)loqrotate配置文件,/etc/logrotate.conf
cat /etc/logrotate.conf

rsync通过服务同步、linux系统日志和screen工具

cat 后的内容详细介绍
weekly 默认每个礼拜对日志文件进行一次rotate的工作

keep 4 weeks worth of backlogs
rotate 4 设置保留几个日志文件,默认4个

create new (empty) log files after rotating old ones
create 创建一个新的文件存储日志

use date as a suffix of the rotated file
dateext 设置后缀,日期

uncomment this if you want your log files compressed
compress 是否压缩

PM packages drop log rotation information into this directory
include /etc/logrotate.d 将/etc/logrotate.d/这个目录中的所有文件都读进来执行rotate工作

no packages own wtmp and btmp -- we'll rotate them here
/var/log/wtmp { 针对/var/log/wtmp/所设置的参数
monthly 每个月执行一次rotate工作
create 0664 root utmp 指定新建文件的权限和所有者以及所属组
minsize 1M 文件的大小要超过1M才进行rotate
rotate 1 保留一个文件

/etc/logrotate.d就是由/etc/logrotate.conf所规划出来的目录,所以可以将所有的数据都写入到 /etc/logrotate.conf即可,但是这样太过于复杂了,所以独立出来一个目录,那么每个以rpm打包方式安装的服务日志文件轮替设置,就可以独自成为一个文件,并且放到 /etc/logrotate.d目录下即可。
ls /etc/logrotate.d/

rsync通过服务同步、linux系统日志和screen工具

dmesg 是一个命令,把系统里硬件相关的日志列出来(是保存在内存中的,dmesg -c可以清除,重启系统又会生成)如果你的硬盘坏了,或者网卡坏了都会记录在这里。

/var/log/dmesg 这是一个日志文件,和dmesg很像,但是不一样,和dmesg命令没有相关性,记录系统启动相关的信息

last 是一个命令,用来记录正确的登陆历史,调用的是/var/log/wtmp这个日志文件

lastb 是一个命令,查看登录失败的用户,调用的是/var/log/btmp这个日志文件

/var/log/secure 这时一个安全日志,只要牵涉到需要输入账号密码的软件,那么登陆时不管正确和错误都会被记录在这个文件中

screen工具

screen虚拟的屏幕,或者说是一个虚拟的终端。
可以让任务一直执行,并且可以随时把任务退出临时放到后台去,随时调回来也可以。

安装screen
yum install -y screen
rsync通过服务同步、linux系统日志和screen工具

安装完成后,直接敲命令screen就可以启动
screen启动后,会创建第一个窗口,也就是窗口No. 0,并在其中打开一个系统默认的shell,一般都会是bash。所以你敲入命令screen之后,会立刻又返回到命令提示符,仿佛什么也没有发生似的,其实你已经进入Screen的世界了。
screen

rsync通过服务同步、linux系统日志和screen工具

screen -ls 列出当前所有的session
screen -ls

rsync通过服务同步、linux系统日志和screen工具

screen -r id 回到指定的session
screen -r 1419

rsync通过服务同步、linux系统日志和screen工具

结束一个session
直接在session下按ctrl+c,然后输入exit即可退出

rsync通过服务同步、linux系统日志和screen工具

screen -S 给screen会话取一个名字
screen -S "xiao"

rsync通过服务同步、linux系统日志和screen工具


猜你喜欢

转载自blog.csdn.net/qq_39225153/article/details/80329545