rclone 实现阿里OSS同步到MINIO

3 篇文章 0 订阅
3 篇文章 1 订阅

rclone 是一个工具。支持在不同对象存储、网盘间同步、上传、下载数据。

包括Dropbox、Box、Onedrive、Gdrive、Mega、S3、MINIO、Alioss等在内的主流网盘中的各类资源,同时实用的挂载功能能够把网盘挂载到本地(OpenVZ架构的VPS不支持挂载)服务于Aria2、CloudTorrent等下载工具以及FileBrowser等私人网盘工具。

 

#下载地址,如果慢,可以直接下载到本地再上传linux
wget https://downloads.rclone.org/rclone-current-linux-amd64.zip
# 解压
unzip rclone-current-linux-amd64.zip
# 授权
chmod 0777 ./rclone-*/rclone
# 复制命令到bin
cp ./rclone-*/rclone /usr/bin/
# 删除目录
rm -rf ./rclone-*

以上命令就是安装完成了。

接下来配置网盘

网盘配置
rclone config

输入 n,新建网盘配置,s是设置配置密码,q退出。

name就是网盘别名例如minio、alioss、box等,加上服务器ip尾数区分。

现在出现的是可支持的网盘、云存储列表,可以看到支持非常多。我们要配置minio输入4回车

 然后因为MINIO是亚马逊S3服务器旗下的技术,所以选择AWS S3即可

 直接回车跳过

 输入MINIO的账号,在控制台配置的可登录的

 秘钥

 区域有很多,用默认即可,输入us-east-1

 服务器地址,这个输入你minio服务器的地址,端口号是9000,不是你控制台登录的端口号

 其他的配置按需跳过即可

 完成了。

 我们再配置阿里oss

唯一区别就是第二个选择选择Alibaba,而非AWS!

 然后就是账号、秘钥、访问区域、endpoint 这些是你阿里OSS申请控制台都可以查到。

 最后,我们查看下配置列表,这个可以直接修改配置文件。

vim /root/.config/rclone/rclone.conf 

 

确认完后,开始最关键的同步迁移了。

其实非常简单的一行命令。

#定时任务
crontab -e
#定时每分钟执行同步数据,从aliyun-oss的test桶 到 minio的alioss/test目录,并输出异常日志文件
1 * * * * rclone sync aliyun-oss:test minio:alioss/test  >> /usr/local/rclone.log 2>&1

#重新加载crontab
#服务重新加载配置
service crond reload 
#重启服务
service crond restart 

然后就是去管理页面看看是否同步过来了。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
你可以使用阿里官方提供的 OSS(对象存储服务)SDK 来实现 Android 上的文件上传功能。以下是一个简单的示例代码,需要先引入阿里 OSS SDK 的依赖: ```java implementation 'com.aliyun.dpa:oss-android-sdk:3.1.8' ``` 然后,在你的代码中使用以下方法来实现文件上传: ```java import com.aliyun.dpa.oss.app.AppServiceFactory; import com.aliyun.dpa.oss.app.OSSClientFactory; import com.aliyun.dpa.oss.app.RunningConfig; import com.aliyun.dpa.oss.app.ServiceFactory; import com.aliyun.dpa.oss.app.UploadConfiguration; import com.aliyun.dpa.oss.app.UploadConfigurationFactory; import com.aliyun.dpa.oss.app.UploadManager; import com.aliyun.dpa.oss.app.util.FileUtil; import com.aliyun.dpa.oss.app.util.StringUtil; import com.aliyun.dpa.oss.app.util.UIUtil; import com.aliyun.dpa.oss.callback.ResultCallback; import com.aliyun.dpa.oss.model.OSSUploadConfiguration; import com.aliyun.dpa.oss.task.PutObjectTask; import com.aliyun.dpa.oss.task.TaskCancelledException; public class AliOSSUploader { private static final String ENDPOINT = "your_oss_endpoint"; // 你的 OSS Endpoint private static final String ACCESS_KEY_ID = "your_access_key_id"; // 你的 Access Key ID private static final String ACCESS_KEY_SECRET = "your_access_key_secret"; // 你的 Access Key Secret private static final String BUCKET_NAME = "your_bucket_name"; // 你的 Bucket 名称 public void uploadFile(String filePath) { // 创建 OSS 客户端 RunningConfig runningConfig = new RunningConfig(ACCESS_KEY_ID, ACCESS_KEY_SECRET, ENDPOINT); AppServiceFactory.init(runningConfig); ServiceFactory serviceFactory = OSSClientFactory.createServiceFactory(); UploadConfiguration configuration = UploadConfigurationFactory.getUploadConfiguration(); UploadManager uploadManager = serviceFactory.createUploadManager(configuration); // 构造上传任务 PutObjectTask putObjectTask = new PutObjectTask(BUCKET_NAME, StringUtil.generateRandomKey(), filePath); // 设置上传结果回调 putObjectTask.setResultCallback(new ResultCallback() { @Override public void onSuccess(Object object) { // 文件上传成功 UIUtil.showToast("文件上传成功"); } @Override public void onFailure(Exception e) { // 文件上传失败 UIUtil.showToast("文件上传失败:" + e.getMessage()); } @Override public void onProgress(Object object, long currentSize, long totalSize) { // 文件上传进度 int progress = (int) (currentSize * 100 / totalSize); UIUtil.showToast("文件上传进度:" + progress + "%"); } @Override public void onCancel(Object object) { // 文件上传取消 UIUtil.showToast("文件上传取消"); } }); // 开始上传任务 try { uploadManager.upload(putObjectTask); } catch (TaskCancelledException e) { // 上传任务取消 UIUtil.showToast("文件上传取消"); } } } ``` 以上代码中的 `your_oss_endpoint`、`your_access_key_id`、`your_access_key_secret` 和 `your_bucket_name` 分别是你的 OSS Endpoint、Access Key ID、Access Key Secret 和 Bucket 名称。你需要将它们替换为你自己的实际值。 调用 `uploadFile` 方法并传入要上传的文件路径,即可实现文件上传到阿里 OSS。记得在 AndroidManifest.xml 中添加网络权限: ```xml <uses-permission android:name="android.permission.INTERNET" /> ``` 希望对你有帮助!如有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值