银河麒麟V10 SP1服务器客户端定时数据同步
0.概述
当前只测试了将数据从客户端往服务端推送,两个客户端分别推送不同的数据
1.环境
三台电脑均为银河麒麟V10SP1桌面操作系统
服务器IP:192.168.1.51 用户名:wlh
客户端IP:192.168.1.52 用户名:wlh
客户端IP:192.168.1.49 用户名:admin2
2.服务器端
2.1 设定数据存放文件夹
在home/wlh文件夹下,新建temp文件夹,用于存放客户端同步过来的数据
2.2 编辑配置文件
(1)且换root用户
(2) 进入/etc目录
(3) 编辑rsyncd.conf,默认不存在该文件,需要自己创建
wlh@wlh—pc:~$ su
输入密码
root@wlh-pc:/home/wlh# cd /etc
root@wlh-pc:/etc# vim rsyncd.conf
#rsyncd.conf配置文件说明:log file = /var/log/rsyncd.log # 日志文件位置,启动rsync后自动产生这个文件,无需提前创建
pidfile = /var/run/rsyncd.pid # pid文件的存放位置
lock file = /var/run/rsync.lock # 支持max connections参数的锁文件
secrets file = /etc/rsync.pass # 用户认证配置文件,里面保存用户名称和密码,必须手动创建这个文件【路径、名称和下一步中的一致】[etc_from_client] # 自定义同步名称 【记住这个名称,后面用的到】
path = /home/wlh/temp # rsync服务器数据存放路径,客户端的数据将同步至此目录 【根据自己情况改动】
comment = sync etc from client
uid = root # 设置rsync运行权限为root
gid = root # 设置rsync运行权限为root
port = 873 # 默认端口
ignore errors # 表示出现错误忽略错误
use chroot = no # 默认为true,修改为no,增加对目录文件软连接的备份
read only = no # 设置rsync源服务器为读写权限
list = no # 不显示rsync源服务器资源列表
max connections = 200 # 最大连接数
timeout = 600 # 设置超时时间
auth users = admin # 执行数据同步的用户名,可以设置多个,用英文状态下逗号隔开 【记住这个名称,后面用得到】
hosts allow = 192.168.1.52,192.168.1.49 # 允许进行数据同步的源服务器IP地址,可以设置多个,用英文状态下逗号隔开
2.3 设置密码文件
(1)在/etc下创建rsync.pass文件,并编辑
sudo vim /etc/rsync.pass
#编辑:
wlh:123456 #此处的名字和 2.2中的auth users要一致
(2)设置权限
chmod 600 rsync.pass
2.4 运行
rsync --daemon
2.5 设置服务开机自启
cd /etc
vim rc.local #若没有则创建
#编辑
rsync --daemon
3.客户端
3.1 设置密码文件
可在任意地方设置密码文件,但要保证当前登录账户有权限访问,此次在/home/wlh/pass文件夹下创建rsync.pass文件
cd /home/wlh
mkdir pass
cd pass
vim rsync.pass
#编辑,输入密码
123456 #此处只需要输入密码即可
3.2 配置权限
chmod 600 rsync.pass
3.3 设置需要同步的文件,此处需要同步的文件在/home/wlh/test目录下
4.测试
在终端输入命令:
rsync -avz /home/wlh/test wlh@192.168.1.51::etc_from_client --password-file=/home/ass/rsync.pass#解释:
rsync -avz #固定格式,不用管
/home/wlh/test #需要同步的文件位置
wlh@192.168.1.51::etc_From_client #rsyncd.conf中的auth user @ 服务器IP::配置文件中自定义的文件名称
测试效果图如下:
5.设置定时任务
5.1 创建脚本
在/home/wlh/time文件夹下创建rsync.sh
cd /home/wlh
mkdir time
cd time
vim rsync.sh
#编辑
rsync -avz /home/wlh/test/ wlh@192.168.1.51::etc_from_client --password-file=/home/wlh/pass/rsync.pass
修改权限
chmod 755 rsync.sh
可测试下是否执行成功
5.2打开终端输入命令
sudo crontab -e
第一次输入时会让选择一个编辑器,选择自己常用的即可。
编辑框中输入:
* * * * * /home/wlh/time/rsync.sh #每分钟同步一次
至此 完成。若有不对之处,还望各路大佬斧正。