雷达智富

首页 > 内容 > 网页技术 > 正文

网页技术

宝塔Linux面板挂载阿里云OSS,ossfs实现附件自动手动转移到OSS

2021-11-19 Linux 441

一直很忙,用宝塔有一段时间了,前两个月购买了阿里云的Oss,然后就折腾去了,把方法分享出来,供大家参考。
话不多说,直接看效果。

下载安装包
安装包两个,自己可以选择一个下载安装。

1wgethttp://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/attach/32196/cn_zh/1527232195135/ossfs_1.80.5_centos7.0_x86_64.rpm
2wget--no-cookies--headerCookie:oraclelicense=accept-securebackup-cookie;http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-x64.rpm

运行安装包

1sudoyumlocalinstallossfs_1.80.5_centos7.0_x86_64.rpm
2yuminstalljdk-8u144-linux-x64.rpm

成功以后,开始配置环境变量

vi/etc/profile

阿里云oss自动挂载

写入你需要挂载的OSS bucket名称

Access Key ID 和 Access Key Secret

格式如下
echooss名称

echo你的储存桶名称:你的AccessKeyID:你的AccessKeySecret/etc/passwd-ossfs

修改文件权限

chmod640/etc/passwd-ossfs

挂载到系统目录,已/ossfs目录为例

mkdir/www/wwwroot/ossfs

启动挂载

ossfs你的储存桶名称/www/wwwroot/ossfs-ourl=vpc100-oss-cn-beijing.aliyuncs.com-oallow_other

ossBucket 名称 oss地区,我是北京,所有对接北京
在/etc/init.d/目录下建立文件ossfs
下面代码安装进去

#!/bin/bash
#
#ossfsAutomountAliyunOSSBucketinthespecifieddirecotry.
#
#chkconfig:23459010
#description:Activates/Deactivatesossfsconfiguredtostartatboottime.

ossfsoss-BCCD/www/wwwroot/ossfs-ourl=chmoda+x/etc/init.d/ossfs

执行命令

chkconfigossfson

执行命令

Step1+Step2B

服务器安装Java 1.7 以上版本运行环境
打开一个终端输入

rpm-qa|grepjdk

查询是否安装过,我这边阿里云直接就安装,没有的话网上下载安装
查看可用软件包
执行命令

yumsearchjava|grep-i–colorJDK

执行命令

yuminstalljava-1.8.0-openjdkjava-1.8.0-openjdk-devel

执行命令

java-version

OssImport系列之二——单机部署
下载

wgethttp://gosspublic.alicdn.com/ossimport/standalone/ossimport-2.2.1.zip

解压

unzipossimport-2.2.1.zip

配置

/root/conf/local_job.cfg
#是否打开增量模式,如果设为true,会每间隔incrementalModeInterval(单位秒)重新扫描一次增量数据,并将增量数据同步到oss上,incrementalModeInterval不建议配置成小于3600秒的值,会浪费很多请求次数,造成额外的开销(目前可配置的最小间隔为900秒)
isIncremental=true
incrementalModeInterval=86400

##############################################################同步源端设置##############################################################
srcType=local
srcPrefix=/www/wwwroot/附件目录/
destAccessKey=用户名
destSecretKey=密码
destDomain=地区
destBucket=阿里云ossBucket名称
destPrefix=所在目录
##############################################################同步目的端设置################################################################

##############################################################srcType=http时的配置选项########################################################

#srcType=http时,需要提供http列表文件的绝对路径,此文件中的http链接需要划分成两列,分别代表前缀以及上传到oss后的相对路径
#例,有一个完整的http链接是127.0.0.1/aa/bb.jpg,不同的切分方法最后会导致上传到oss的路径会不一样:
#c:/example/http.list文件内容:
#127.0.0.1/aa/bb.jpg
#127.0.0.1/aa/bb.jpg
#第一行的文件导入到oss后的路径为destDomain/destBucket/destPrefix+bb.jpg
#第二行的文件导入到oss后的路径为destDomain/destBucket/destPrefix+aa/bb.jpg

httpListFilePath=c:/example/http.list
httpPrefixColumn=1
relativePathColumn=2

##############################################################任务配置,没有特殊需求不需要修改#################################################
#job名字,每个任务唯一,单机模式下请不要修改此项
jobName=local_test

#job类型(import/audit),import为同步数据到oss,audit为校验源端数据和oss数据是否一致
jobType=import

#只导入源文件最后修改时间大于该时间的数据,默认为0,这个时间为unix时间戳(秒数)
importSince=0

#在校验时,如果文件的最后修改时间大于该值,则跳过此文件的校验,默认值0为关闭该功能,所有文件都需要校验,这个时间为unix时间戳(秒数),jobType为audit时此项不生效
lastModify=0

#数据迁移时,是否跳过已经存在的文件。当设置为true时,根据文件的size和LastModifedTime判断是否跳过;为false时,总是覆盖OSS上已有文件。jobType为audit时此项不生效。
isSkipExistFile=false

#每个子任务最大的文件个数限制,这个会影响到任务执行的并行度,一般配置为总的文件数/120
taskObjectCountLimit=10000

#每个子任务下载的最大文件大小限制(bytes)
taskObjectSizeLimit=1000000000

#并行扫描文件列表的线程数,只影响扫描文件的效率,没有特殊需求不要修改
scanThreadCount=1

#最大允许并行扫描目录的深度,默认为1就是只能在顶级目录间并行扫描,没有特殊需求不要修改,随意配置的过大会导致任务无法正常运行
maxMultiThreadScanDepth=1

#单个大文件分片上传并发数,默认超过150MB为大文件,分片为50MB,srcType=local时有效,其它情况该配置项无效
uploadThreadNumPerLargeFile=3

#大于该值的文件使用分片上传,否则使用普通上传,请配置大于1MB以上;有效配置值如:50m/1024m/5g
multipartUploadThreshold=150m

#分配上传时分片大小,请配置大于100k的数据,否则无效,采用默认值50MB;有效配置值如:500k/50m/2g
multipartUploadPartSize=50m

#存储在OSS上的数据否加密,默认不加密
isServerSideEncryption=false

#local模式时,链接文件是否上传,默认不上传
isAllowSymbolicLink=false

#七牛云存储获取Meta的方式,有效值head和stat,默认使用stat;head通过HTTPHEAD请求获取,stat通过BucketManager.stat
getObjectMetaMode=stat

#数据迁移后是否进行数据的正确性校验,默认校验
isAuditAfterImport=true

#数据校验方式,有效值为simple/general/detailed,默认值general;simple只校验文件的size,general校验文件的size/lastModify/header,detailed检验文件的CRC或MD5,开发中
auditMode=detailed

------------------------------------------------------------------------------------------------------
以上代码来之阿里云官方,大家可以自行下载,修改的地方就几处替换成自己的即可。
停止服务

bashconsole.shstop

启动服务

bashconsole.shstart

手动执行转移oss

bashimport.sh
赞一波!

文章评论

全部评论