前言

上周趁u-file开放注册的时候注册了一个账户,白嫖了一个无限存储2T流量的空间,等了许久终于审核通过后上控制台看了下,应该使用的是又拍云对象存储,我测试了几款又拍云提供的工具,都是可以正常使用的。

唯一有点遗憾的是,又拍云存储暂未支持镜像回源,说来也奇怪,阿里oss、腾讯cos、百度bos三个大厂的对象存储以及七牛云这类小厂都能支持镜像回源,又拍云居然不跟进。

既然不支持镜像回源,而我又需要u-file来镜像加速我的图床,只能采取另外的方案了。所以我在又拍云的文档里找到了UPX命令行工具,其中有一个sync可以用来同步本地路径到又拍云对象存储上面,虽然无法实现镜像回源,但是云存储的数据能和本地同步,也算是镜像的另一种形式。

项目介绍

UPX 是专为开发者设计的,基于命令行的云存储管理工具。它可以实现文件上下传、增量文件同步、目录创建删除、文件删除(包括异步文件批量删除)等。

开源项目:https://github.com/upyun/upx

详细介绍可以查看项目的README

这里主要写一下如何在centos上面使用upx同步本地文件到又拍云存储。

安装UPX

#64位系统下载
wget -O /usr/local/bin/upx http://collection.b0.upaiyun.com/softwares/upx/upx-linux-amd64-v0.2.6
#32位系统下载
wget -O /usr/local/bin/upx http://collection.b0.upaiyun.com/softwares/upx/upx-linux-386-v0.2.6
#给予权限
chmod +x /usr/local/bin/upx

安装好之后可以直接输入upx查看是否安装成功

命令介绍

所有命令都支持 -h 查看使用方法

命令说明
login登录又拍云存储
logout退出帐号
sessions查看所有的会话
switch切换会话
info显示服务名、用户名等信息
cd改变工作目录(进入一个目录)
pwd显示当前所在目录
mkdir创建目录
ls显示当前目录下文件和目录信息
tree显示目录结构
get下载一个文件或目录
put上传一个文件或目录
rm删除目录或文件
sync目录增量同步,类似 rsync
auth生成包含空间名操作员密码信息的 auth 字符串
post提交异步处理任务
purge提交 CDN 缓存刷新任务
global options说明
--quiet, -q不显示信息
--auth valueauth 字符串
--help, -h显示帮助信息
--version, -v显示版本号

登陆又拍云

输入upx login命令,依次输入服务名、操作员、操作员密码后回车登陆,看到Welcome to即表示登陆成功。

可以输入upx info查看信息,CurrentDir为当前所在目录,Usage为已使用空间。

upx还支持多账户登陆,可以使用upx sessions来查看所有登陆会话,使用upx switch来切换会话,由于我没有多余的账户,这里就不进行演示。

同步文件

首先cd打开要同步的目录,然后使用upx sync来进行同步。

比如我输入的upx sync 2020/ /2020/,就是将当前目录下的2020文件夹同步到又拍云存储上面根目录下的2020文件夹。

同步完成之后会有以上提示,使用FTP工具连接上u-file可以看到2020目录已经完整的同步过来了。

此方法也可以用于同步其他网站程序的静态资源

WordPress

upx sync wp-content/uploads/ /wp-content/uploads/

Typecho

upx sync usr/uploads/ /usr/uploads/

Flarum

upx sync public/assets/ /public/assets/

千万不要直接同步网站的根目录,因为根目录下面可能包含config配置文件,比如Wordpress的wp-config.php文件,里面包含了数据库等重要信息,而上传到又拍云存储之后可以被任何人下载,严重影响安全性。

定时同步

目前upx sync使用的是增量同步的方式,暂不支持实时同步,所以只能选择计划任务的方式来实现定时同步。

这里使用的是宝塔面板的计划任务,比Crontab使用起来简单一些。

需要注意一下,在计划任务里面执行upx sync要把同步的目录改成以系统为根目录。

我设置的是一分钟同步一次,一分钟后来看一下日志,可以看到同步是正常的

+=============+=========+===========+================+===========+=============+
| SYNC_EXISTS | SYNC_OK | SYNC_FAIL | SYNC_NOT_FOUND | DELETE_OK | DELETE_FAIL |
+-------------+---------+-----------+----------------+-----------+-------------+
|         571 |       0 |         0 |              0 |         0 |           0 |
+-------------+---------+-----------+----------------+-----------+-------------+
----------------------------------------------------------------------------
★[2020-05-30 13:50:04] Successful
----------------------------------------------------------------------------
Last modification:June 1st, 2020 at 12:00 am
如果觉得我的文章对你有用,请随意赞赏