×

Linux VPS使用MinIO Client客户端实时同步备份文件

hqy hqy 发表于2025-01-09 16:19:26 浏览5 评论0

抢沙发发表评论


简介

Minio是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。且Minio足够轻便,可与应用程序捆绑在一起,类似于NodeJSRedisMySQL

官方网站:https://minio.io

截图

mportant; border-right: none !important; border-left: none !important; border-image: initial !important;">请输入图片描述
请输入图片描述

手动安装

1、安装

wget https://dl.minio.io/server/minio/release/linux-amd64/minio -P /usr/local/bin/
chmod +x /usr/local/bin/minio
minio server /data

后面的/data为存储目录,且在根目录下。如果你想建立更多存储目录,使用命令:

minio server /data1 /data2 /data3 /data4

然后会输出登录地址、AccesskeySecretkey等信息。
请输入图片描述

然后进入登录地址,输入AccesskeySecretkey就可以进去了。
请输入图片描述

2、开机自启
新建systemd配置文件,适用CentOS 7Debian 8+Ubuntu 16+,使用命令:

#输入你的运行命令,去掉开头的minio即可minio="server /data"#将以下代码一起复制到SSH运行cat > /etc/systemd/system/minio.service <<EOF
[Unit]
Description=minio
After=network.target

[Service]
Type=simple
ExecStart=$(command -v minio) ${minio}
Restart=on-failure

[Install]
WantedBy=multi-user.target
EOF

然后启动并设置开机自启:

systemctl start minio
systemctl enable minio

Docker安装

1、安装Docker

#CentOS 6系统rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum update -y
yum -y install docker-io
service docker start
chkconfig docker on#CentOS 7、Debian、Ubuntu系统curl -sSL https://get.docker.com/ | sh
systemctl start docker
systemctl enable docker

2、拉取镜像

docker run --restart=always --name minio -d \
-v /data:/data \
-p 9000:9000 \
minio/minio server /data

/data为存储文件夹。

然后再使用命令:

head -8 /data/.minio*/config/config.json

就可以获取accessKeysecretKey值,访问地址为ip:9000

最后访问不了的记得打开防火墙端口,CentOS系统开启防火墙9000端口,命令如下:

#CentOS 6iptables -I INPUT -p tcp --dport 9000 -j ACCEPT
service iptables save
service iptables restart#CentOS 7firewall-cmd --zone=public --add-port=9000/tcp --permanentfirewall-cmd --reload

有些服务商,比如阿里云、谷歌云,都还要开启安全组。




MinIO服务器,一个开源的轻量级对象存储服务用起来挺不错的,搭建也非常方便,而这里要说的其实是MinIO服务器是的一个客户端MinIO Client,主要的功能就是可以自动监听文件夹,然后实时同步到远程MinIO服务器,也支持同步到Amazon S3Google云存储,同样的安装十分简单,我们可以拿来同步备份博客或者其他数据文件。

安装

文档地址:https://docs.min.io/

基本上MinIO服务器和客户端支持在很多系统上安装,比如WindowsmacOS等,这里主要说Linux

1、安装MinIO Client

wget https://dl.min.io/client/mc/release/linux-amd64/mc -P /usr/local/bin/
chmod +x /usr/local/bin/mc

2、添加云存储

#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云存储参数获取查看→传送门,Google云存储参数获取查看→传送门

基本上这里配置好了后,我们可以使用很多命令远程操作云存储上的文件了。

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 7Debian 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为启动命令,默认为自行删除/修改也会同步,可自行修改参数。

启动并设置开机自启:

systemctl start minioc
systemctl enable minioc

该同步为单向的,只能本地影响到远程存储,远程的修改/删除则不会同步到本地,最后MinIO Client客户端的功能其实挺多的,想了解更多的可以查看文档→传送门


打赏

本文链接:https://www.kinber.cn/post/4558.html 转载需授权!

分享到:


推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

 您阅读本篇文章共花了: 

群贤毕至

访客