说明:博主很久前介绍过MinIO
服务器,一个开源的轻量级对象存储服务,具体查看→传送门,用起来挺不错的,搭建也非常方便,而这里要说的其实是MinIO
服务器是的一个客户端MinIO Client
,主要的功能就是可以自动监听文件夹,然后实时同步到远程的MinIO
服务器,也支持同步到Amazon S3
、Google
云存储,同样的安装十分简单,我们可以拿来同步备份博客或者其他数据文件。
安装
文档地址:https://docs.min.io/
基本上MinIO
服务器和客户端支持在很多系统上安装,比如Windows
、macOS
等,这里主要说Linux
。
1、安装MinIO Client
代码语言:javascript复制wget https://dl.min.io/client/mc/release/linux-amd64/mc -P /usr/local/bin/
chmod x /usr/local/bin/mc
2、添加云存储
代码语言:javascript复制#MinIO云存储,添加前需要在另一台服务器安装MinIO服务,教程查看https://www.moerats.com/archives/643/
mc config host add minio <Endpoint> <AccessKey> <SecretKey> S3v4
#Amazon S3云存储
mc config host add s3 https://s3.amazonaws.com <ALIAS> <Endpoint> <AccessKeyID> <SecretAccessKey> S3v4
#Google云存储
mc config host add gcs https://storage.googleapis.com <AccessKeyID> <SecretAccessKey> S3v2
这里只说MinIO
云存储,Amazon S3
云存储参数获取查看→传送门
基本上这里配置好了后,我们可以使用很多命令远程操作云存储上的文件了。
3、开始同步
先创建一个桶,名称为moerats
,可自行修改,使用命令:
mc mb minio/moerats
接下来比如我要同步网站根目录/www/wwwroot/www.moerats.com
,使用命令:
#该命令只会同步文件,但本地修改或删除,云存储不会变化
mc mirror -w /www/wwwroot/www.moerats.com minio/moerats
#该命令同步文件后,本地修改文件,会自行在云存储进行相应的修改
mc mirror -w --overwrite /www/wwwroot/www.moerats.com minio/moerats
#该命令同步文件后,本地修改/删除文件,会自行在云存储进行相应的修改/删除
mc mirror -w --overwrite --remove /www/wwwroot/www.moerats.com minio/moerats
这里加了--remove
参数后,首次会强行让远程存储桶和本地文件一模一样,意味着会清空你的远程存储桶。
运行命令后你会发现远程MinIO
云存储里的MOERATS
就会出现你网站根目录所有文件了,以后根目录新增文件都会实时同步进去。
当然这里我们也可以同时实时备份多个文件夹到多个存储桶,自行修改名称就行了。
4、开机自启
新建systemd
配置文件,适用CentOS 7
、Debian 8
、Ubuntu 16
。
#修改成你需要实时同步备份的文件夹
backup="/www/wwwroot/www.moerats.com"
#修改成你要备份到的存储桶
bucket="moerats"
#将以下代码一起复制到SSH运行
cat > /etc/systemd/system/minioc.service <<EOF
[Unit]
Description=minioc
After=network.target
[Service]
Type=simple
ExecStart=$(command -v mc) mirror -w --overwrite --remove ${backup} minio/${bucket}
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
ExecStart
为启动命令,默认为自行删除/修改也会同步,可自行修改参数。
启动并设置开机自启:
代码语言:javascript复制systemctl start minioc
systemctl enable minioc
该同步为单向的,只能本地影响到远程存储,远程的修改/删除则不会同步到本地,最后MinIO Client
客户端的功能其实挺多的,想了解更多的可以查看文档→传送门。