1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > Rsync文件同步软件在CentOS Linux 8下的安装与配置(DNF/YUM安装方式)

Rsync文件同步软件在CentOS Linux 8下的安装与配置(DNF/YUM安装方式)

时间:2019-08-07 14:38:38

相关推荐

Rsync文件同步软件在CentOS Linux 8下的安装与配置(DNF/YUM安装方式)

以前比较喜欢源码编译的方式来安装各种的软件。后来发现,有些软件的源码自己根本就没看过,也不准备去更改一下它的代码和配置,所以还不如直接就用YUM安装的方式。这样做最大的好处是不耽误时间。

另外,我没有更改CentOS Linux 8的默认包管理软件(默认是:DNF),以下所有的YUM操作,都是用DNF来完成的,我只是习惯用YUM方式而已。

Rsync服务会开启一个873/tcp的端口(port),要在防火墙上开启这个端口。关于防火墙的安装与管理,请参考下面这个文件:

CentOS Linux 8运行了防火墙就能防止一切攻击了吗?怎么安装/配置防火墙Firewall?

针对内网IP开启873/tcp端口(port)的命令如下:

firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.1/24" port protocal="tcp" port="873" accept'

安装

运行以下指令安装

yum -y install rsyncmkdir -p /log/rsync#建立日志目录

配置文件管理

创建目录

创建运行中需要用到的目录

mkdir -p /log/rsync/mkdir -p /data/rsync/conf/mkdir -p /data/rsync/run/

配置文件rsyncd.conf

修改配置文件,执行命令:

vi /etc/rsyncd.conf

录入下列文件内容:

uid = rootgid = rootport = 873#use chroot = no #是否可以改变同步的根目录#read only = yes #只读或者可以上传文件#hosts allow=192.168.1.220#hosts deny=*# transfer logging = yes#motd file = /data/rsync/conf/motd# log format = %t %a %m %f %b# syslog facility = local3# timeout = 300max connections = 200pid file = /data/rsync/run/rsyncd.pidlock file = /data/rsync/run/rsync.locklog file = /log/rsync/rsyncd.log[wwwroot]path = /wwwrootcomment= lg69_rsyncread only = yesauth users = pushersecrets file = /data/rsync/conf/server.passhosts allow = 192.168.1.0/24,59.151.1.0/24,211.151.133.0/24,58.221.35.0/24,125.76.249.0/24# list=yes# ignore errors# exclude = test/ test.php

配置文件server.pass

编辑服务端密码文件

vi /data/rsync/conf/server.pass #此文件为服务器端使用;列出可以登录的用户名和密码

内容如下:

pusher:4d6b256f7f8e97287413a68cebe1ad7c

配置文件client.pass

编辑客户端密码文件

vi /data/rsync/conf/client.pass #此文件为客户端使用;登录的密码,与server.pass内容对应

内容如下:

4d6b256f7f8e97287413a68cebe1ad7c

配置文件site.exclude.list

配置不可被同步的文件内容

vi /data/rsync/conf/site.exclude.list #不可被同步的文件列表

内容就像下面的这样就可以

test/userlogin.phplogin

修改各文件的权限

chmod 600 /data/rsync/conf/server.passchmod 600 /data/rsync/conf/client.passchmod 600 /data/rsync/conf/site.exclude.list

上述内容最好台服务器都配置上,这样任何一台服务器都可以作为服务器来使用。

启动Rsync服务

服务端操作

启动服务

service rsyncd start#等同于systemctl start rsyncd 启动Rsync服务systemctl enable rsyncd #开机启动Rsync服务ps -aux | grep rsync#如果看到rsync的进程在,就说明启动成功了

能看到类似如下内容,就说明启动成功了

root 2045 0.0 0.0 114756 2688 ?Ss 12:30 0:00 /usr/bin/rsync --daemon --no-detachroot 2062 0.0 0.0 112736 2340 pts/0 S+ 12:31 0:00 grep --color=auto rsync

到这里务器端配置就完成了

客户端操作

设置客户端的可执行文件(拉取服务端文件的shell)

vi /root/get.sh

内容如下(大意是获取服务端/wwwroot/下所有的文件):

#!/bin/bash/usr/bin/rsync -vrtopg --password-file=/data/rsync/conf/client.pass --exclude-from=/data/rsync/conf/site.exclude.list --progress pusher@192.168.1.211::wwwroot /wwwroot/

给这个文件可执行的权限

chmod +x /root/get.sh #client.pass和site.exclude.list上面已经介绍了这里直接使用

测试同步文件

获取一下文件试试

./get.sh#同步一下试试 注:客户端的rsync配置最好和服务端一模一样

配置服务器自动同步文件

执行命令:

crontab -e

crontab默认使用vi编辑,填入一下内容:

*/10 8-23 * * * /root/get.sh00-7 * * * /root/get.sh

说明:8-23点每10分钟执行一次,0-7每一小时执行一次

碰到的问题

安装完了以后,CentOS Linux 8上面没有Rsync服务(rsyncd.service)怎么办?

网上找到的资料都是安装以后可以看到以下文件:

/etc/rsyncd.conf/lib/systemd/system/rsyncd.service

但是在刚装好的CentOS Linux 8上,这两个文件都没有,所以没有办法通过以下命令启动或关闭Rsync服务(这种方式的管理比较统一,也比较好操作):

service rsyncd start#等同于systemctl start rsyncd 启动Rsync服务service rsyncd stop #等同于systemctl stop rsyncd关闭Rsync服务service rsyncd status#等同于systemctl status rsyncd 查看Rsync服务状态systemctl enable rsyncd #开机启动Rsync服务systemctl disable rsyncd #开机不启动Rsync服务

解决办法

通过上面的设置已经解决了rsyncd.conf的问题,还有就是服务的问题,咱们自己创建一个rsyncd.service以及相关的文件,自己来启动这个服务:

编辑rsyncd配置文件

vi /etc/sysconfig/rsyncd

内容

OPTIONS=""

编辑rsyncd.service配置文件

vi /lib/systemd/system/rsyncd.service

内容

[Unit]Description=fast remote file copy program daemonConditionPathExists=/etc/rsyncd.conf[Service]EnvironmentFile=/etc/sysconfig/rsyncdExecStart=/usr/bin/rsync --daemon --no-detach "$OPTIONS"[Install]WantedBy=multi-user.target

service rsyncd start#启动Rsync服务service rsyncd status#查看Rsync服务状态

看到类似以下内容,服务就启动成功

Redirecting to /bin/systemctl status rsyncd.service● rsyncd.service - fast remote file copy program daemonLoaded: loaded (/usr/lib/systemd/system/rsyncd.service; disabled; vendor preset: disabled)Active: active (running) since Sun -12-29 13:08:25 CST; 3s agoMain PID: 3104 (rsync)Tasks: 1 (limit: 24804)Memory: 268.0KCGroup: /system.slice/rsyncd.service└─3104 /usr/bin/rsync --daemon --no-detach12月 29 13:08:25 localhost systemd[1]: Started fast remote file copy program daemon.

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。