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


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

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

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

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


下载安装包:

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

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

运行安装包:

sudo yum localinstall ossfs_1.80.5_centos7.0_x86_64.rpm
yum install jdk-8u144-linux-x64.rpm

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

vi /etc/profile

阿里云oss自动挂载
写入你需要挂载的OSS bucket名称,Access Key ID 和 Access Key Secret等信息,格式如下
echo oss名称:AccessKey ID:Access Key Secret > /etc/passwd-ossfs 
修改该文件权限

chmod 640 /etc/passwd-ossfs

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

mkdir /www/wwwroot/ossfs

启动挂载 ossfs oos-BCCD /www/wwwroot/ossfs -ourl=vpc100-oss-cn-beijing.aliyuncs.com -o allow_other
红色标记为我的ossBucket 名称  蓝色是我oss地区,我是北京,所有对接北京
在/etc/init.d/目录下建立文件ossfs
下面代码安装进去

#! /bin/bash
#
# ossfs      Automount Aliyun OSS Bucket in the specified direcotry.
#
# chkconfig: 2345 90 10
# description: Activates/Deactivates ossfs configured to start at boot time.
ossfs oss-BCCD /www/wwwroot/ossfs -ourl=http://vpc100-oss-cn-beijing.aliyuncs.com -oallow_other

执行命令:

chmod a+x /etc/init.d/ossfs

执行命令:

chkconfig ossfs on

执行命令:

Step 1 + Step 2B

----------------------------------------------------------------------------

服务器安装Java 1.7 以上版本运行环境

打开一个终端输入

rpm -qa|grep jdk

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

yum search java | grep -i –color JDK

执行命令:

yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel

执行命令:

java -version

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

wget http://gosspublic.alicdn.com/ossimport/standalone/ossimport-2.2.1.zip

解压 

unzip ossimport-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通过HTTP HEAD请求获取,stat通过BucketManager.stat
getObjectMetaMode=stat

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

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

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

bash console.sh stop

启动服务
Linux下在终端执行 

bash console.sh start

手动执行转移oss

bash import.sh
    发表新评论