目前 linux 有自带的数据备份工具 rsync, 可以通过命令查看
whereis rsync
服务端
vi /etc/rsyncd.conf
添加内容
# 只读, 大部分情况我们只做备份, 不需要写数据
read only=yes
# 列出目录, 安全起见, 没必要知道服务器备份数据的目录
list=yes
# 用户名
uid=backup
# 用户组
gid=backup
# 允许备份的客户端即白名单
hosts allow=*
# 黑名单
# hosts deny=192.168.128.0/24
# 最大允许客户端连接数
max connections=2
# 进程文件
pid file=/var/run/rsyncd.pid
# 日志文件
log file=/var/log/rsyncd.log
# 锁文件
lock file=/var/run/rsyncd.lock
# 备份的标识符
[flag]
comment=备份L1服务器的活动项目
# 忽略 IO 操作的错误
ignore errors
# 备份的目录
path=/usr/local/test
# 备份的密钥文件 (权限一定是 600, 这里的用户和服务器用户没有任何关系)
secrets file=/etc/rsyncd.secrets
# 允许备份的用户
auth users=backup
# 不需要备份的文件(不能写绝对路径, 必须为path目录下的文件)
exclude=vendor/ storage/
创建密钥文件
# 写入用户名和密码
echo 'backup:123456' > /etc/rsyncd.secrets
# 指定权限(这里很重要)
chmod 600 /etc/rsyncd.secrets
启动
rsync --daemon --config=/etc/rsyncd.conf
# 或
service rsyncd start
客户端
创建密钥文件
# 添加密钥( 这里只需添加密码 )
echo '123456' > /etc/rsyncd.client.secrets
# 权限很重要
chmod 600 /etc/rsyncd.client.secrets
开始同步
rsync -vzrtopg --progress --delete backup@192.168.3.1::flag /opt/backup \
--password-file=/etc/rsyncd.client.secrets
网友评论