之前做了一个nfs服务器之间的服务器文件共享,文件服务器宕机其他服务器也访问不到了,毕竟共享和备份概念是不一样的。害怕文件丢失,赶紧做一个lsyncd文件备份,正好多余一台服务器,记录一下。

服务器两台 192.168.110.219(源服务器);192.168.110.220(备份服务器)

1,ssh免密登陆,使用lsyncd前提必须能让219免密登陆到220,不然后边启动服务会报权限错误。

在219操作

第一步:cd /.ssh/

centos7 命令行进行快照备份 centos文件备份_lsyncd


这步很关键,之前执行了很多次,就是不能免密,最后才发现是没有进入这个目录下操作。

第二步:生成公钥私钥

ssh-keygen -t rsa

centos7 命令行进行快照备份 centos文件备份_lsyncd_02


四次回车就行,输入ls检查下生成的密钥

centos7 命令行进行快照备份 centos文件备份_centos7 命令行进行快照备份_03


前两个就是密钥了

第三步:把密钥复制到220,两种方式,直接命令过去就行了

ssh-copy-id username@host

username是登陆到220的用户,host是220的ip,这里输入

ssh-copy-id root@192.168.110.220

centos7 命令行进行快照备份 centos文件备份_centos_04


回车

然后测试一下是否成功,输入ssh root@192.168.110.220

centos7 命令行进行快照备份 centos文件备份_centos7 命令行进行快照备份_05


看到没有输入密码就成功了,说明可以了。

2,源端安装lsyncd(备份端我也装了,但是没有启动就成功了,貌似不需要,不太确定,还是装一下吧)

第一步:安装lsyncd编译环境

输入 yum -y install epel-release

centos7 命令行进行快照备份 centos文件备份_centos7 命令行进行快照备份_06


第二步:安装lsyncd

输入 yum -y install lsyncd

centos7 命令行进行快照备份 centos文件备份_centos7 命令行进行快照备份_07


安装完后输入

lsyncd --version ,回车

centos7 命令行进行快照备份 centos文件备份_lsyncd_08


看到版本说明安装成功了。

第三步:源端配置

输入 vi /etc/lsyncd.conf

centos7 命令行进行快照备份 centos文件备份_lsyncd_09


注释掉原有的最后一行,不然就配置多了,还报错。或者全删除,用下边的

输入配置

settings {
    logfile = "/var/log/lsyncd.log",          --日志路径
    statusFile = "/var/log/lsyncd.status",    --状态文件
    pidfile = "/var/run/lsyncd.pid",          --pid文件路径
    statusInterval = 10,                       --状态文件写入最短时间
    nodaemon = true,                         --daemon运行
    maxProcesses = 1,                         --最大进程
    maxDelays = 100,                            --最大延迟
}
sync {
    default.rsyncssh,                            --默认rsync+ssh
    source = "/usr/local/tomcat/webapps/",                 --源目录
    delete = true,                            --保持完全同步
    host = "root@192.168.110.220",               --备份端登陆用户和ip
    targetdir = "/usr/local/webapps/",              --目标目录
    exclude={   "*.tmp", "*.bak"   },         --需排除的文件

rsync = {
    binary = "/usr/bin/rsync", --需先安装好rsync
    archive = true,            --归档
    compress = false,          --压缩
    owner = true,              --属主
    perms = true,              --权限
    _extra = {"--bwlimit=10024"}, --限速10024KB/S
    whole_file = false
    },
ssh = {
    port = 22
    }
}

保存退出。

按照路径创建好目录,源端和备份端都需要按照配置中的路径来。

输入 systemctl enable rsyncd.servic 和 systemctl start rsyncd.service,设置开启自启和启动服务。

输入 systemctl status lsyncd

centos7 命令行进行快照备份 centos文件备份_lsyncd_10


看到服务启动成功,然后去目录备份端目录看一下是否备份到

centos7 命令行进行快照备份 centos文件备份_linux_11


可以看到有文件了,(我是把tomcat的webapps直接拿来备份的),完事了。