1. 程式人生 > >阿里雲oss掛載到本地及oss檔案的上線記錄

阿里雲oss掛載到本地及oss檔案的上線記錄

我司的oss主要用來儲存靜態圖片,當前mobile和web站所使用的靜態圖片都放置在oss中使用,因此測試環境和生產環境都存在oss。因此,每次上線需要把測試oss上的檔案上傳到生產的oss上。步驟如下:

1、將目的端(即線上)的bucket掛載到本地的zice機器,使用ossfs工具

echo test-static:faint:123 > /etc/passwd-ossfs   ##設定bucket name和AccessKeyId/Secret資訊,將其存放在/etc/passwd-ossfs
chmod 640 /etc/passwd-ossfs     ##加640許可權
mkdir /alidata/oss/test-static    ##建立掛載點

ossfs test-static /alidata/oss/test-static  -ourl=http://oss-cn-shanghai.aliyuncs.com   ##掛載到掛載點/alidata/oss/puhuijia-static

參見阿里雲文件:https://help.aliyun.com/document_detail/32196.html?spm=5176.doc57053.6.1042.8WTkmS

2、備份本地掛載的bucket內的全部檔案
/alidata/oss/oss_backup.sh    ##使用這個指令碼進行備份,指令碼的內容如下
vim oss_back.sh
######
date=`date +%Y-%m-%d-%H-%M`
echo "開始進行OSS備份..."
rsync -avz /alidata/oss/test-static /test/backup/test-static/test-static-${date}
echo "OSS備份完畢,此次備份路徑為:/test/backup/test-static/test-static-${date}"
######
3、殺掉當前的進行中的import服務

ps axu | grep "ossimport2.jar.* start" | grep -v grep | awk '{print "kill -9 "$2}' | bash
4、清除同名任務
java -jar $work_dir/bin/ossimport2.jar -c $work_dir/conf/sys.properties clean oss_static
5、啟動import服務
nohup java -Dskip_exist_file=false -jar $work_dir/bin/ossimport2.jar -c $work_dir/conf/sys.properties start > $work_dir/logs/ossimport2.log 2>&1 &
6、提交新的import任務

java -jar $work_dir/bin/ossimport2.jar -c $work_dir/conf/sys.properties submit $work_dir/oss_job_static.cfg
6、檢視任務狀態
java -jar $work_dir/bin/ossimport2.jar -c $work_dir/conf/sys.properties stat detail
7、檢視日誌

tailf logs/ossimport2.log

PS:oss_job_static.cfg的內容如下

#job名字,每個任務唯一,如果重複提交同名任務會提示任務已存在
jobName=oss_static

#是否開啟增量模式,如果設為true,會每間隔incrementalModeInterval(單位秒)重新掃描一次增量資料,並將增量資料同步到oss上,incrementalModeInterval不建議配置成小於3600秒的值,會浪費很多請求次數,造成額外的開銷(目前可配置的最小間隔為900秒)
isIncremental=false
#incrementalModeInterval=86400

##############################################################同步源端設定##############################################################
#同步源型別,目前支援:
#1.local(本地檔案,此選項只需要填寫srcPrefix,不需要填寫srcAccessKey,srcSecretKey,srcDomain,srcBucket)
#2.oss(從oss的一個bucket遷移到另一個bucket)
#3.qiniu(七牛)
#4.bos(百度的雲端儲存)
#5.ks3(金山的雲端儲存)
#6.s3(亞馬遜s3) 
#7.youpai(又拍雲,又拍雲獲取檔案列表的介面比較特殊,在同步時list不支援斷點,因此在list沒有完成時殺掉同步程序會導致下次會重新全部list檔案列表)
#8.http (通過提供的http連結列表同步資料,此選項不需要填寫srcAccessKey,srcSecretKey,srcDomain,srcBucket,srcPrefix)
#9.cos(騰訊雲)
srcType=oss

#源access key,同步本地檔案以及通過http地址同步的不需要填,大部分雲平臺填寫控制檯獲取的acceess key/accss key id,又拍雲填寫操作員賬號
srcAccessKey=123456

#源secrect key,同步本地檔案以及通過http地址同步的不需要填,大部分雲平臺填寫控制檯獲取的secret key/access key secret,又拍雲填寫操作員密碼
srcSecretKey=123456

#源endpoint,同步本地檔案以及通過http地址同步的不需要填
#1.oss: 從控制檯獲取域名(非帶bucket字首的二級域名),域名列表參考https://help.aliyun.com/document_detail/31834.html; 例:"srcDomain=http://oss-cn-hangzhou-internal.aliyuncs.com"; 如果用阿里雲ecs虛擬機器做遷移的,請使用internal域名,不計費且不受虛擬機器頻寬限制(非虛擬機器無法使用);例:http://oss-cn-hangzhou-internal.aliyuncs.com 
#2.七牛: 從七牛控制檯獲取對應bucket的域名
#3.百度bos: http://bj.bcebos.com或者http://gz.bcebos.com
#4.金山ks3: http://kss.ksyun.com或者http://ks3-cn-beijing.ksyun.com或者http://ks3-us-west-1.ksyun.com 
#5.亞馬遜s3: 各個region的地址請參考http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region 
#6.又拍雲:  http://v0.api.upyun.com(自動判斷最優線路)或者http://v1.api.upyun.com(電信線路)或者http://v2.api.upyun.com(聯通網通線路)或者http://v3.api.upyun.com(移動鐵通線路) 
#7.騰訊雲: cos v3版本不需要填寫;cos v4版本需要填上bucket所在的區域,比如華南園區填寫:gz,華北園區:tj,華東園區:sh
srcDomain=http://oss-cn-qingdao.aliyuncs.com

#源bucket名字,同步本地檔案以及通過http地址同步的不需要填,不需要加上"/"
srcBucket=testpc-static

#源字首,預設為空,如果srcType=local,則此目錄是本地目錄,如果是其他型別,則是源Bucket裡需要同步的Object的字首,注意如果是本地目錄,需要完整目錄路徑(以'/'進行分割並且以'/'結尾,例: /home/admin/example/)
srcPrefix=

##############################################################同步目的端設定################################################################
#目的 access key
destAccessKey=123456

#目的 secret key
destSecretKey=123456

#目的endpoint,請根據您的實際oss區域填寫,預設為杭州的域名,如果用阿里雲ecs虛擬機器做遷移的,請使用internal域名,不計費且不受虛擬機器頻寬限制(非虛擬機器無法使用);例:http://oss-cn-hangzhou-internal.aliyuncs.com
#注意:域名裡不要帶上bucket字首,oss域名幫助頁面:https://help.aliyun.com/document_detail/31837.html
destDomain=http://oss-cn-shanghai-finance-1-pub-internal.aliyuncs.com

#目的bucket,不需要加上"/"
destBucket=test-finance-static

#目標字首,預設為空,直接放在bucket下(如果要將資料同步到oss的某個目錄下,請以'/'結尾),注意:oss不支援以 '/' 作為檔案的開頭,所以destPrefix請不要配置以'/'做為開頭
#一個本地檔案路徑為 srcPrefix + relativePath的檔案,遷移到oss的路徑為destDomain/destBucket/destPrefix + relativePath
#一個雲端檔案路徑為 srcDomain/srcBucket/srcPrefix + relativePath的檔案,遷移到oss的路徑為destDomain/destBucket/destPrefix + relativePath
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

##############################################################srcType=cos時的配置項###########################################################
#騰訊雲的appId
appId=0

##############################################################任務配置,沒有特殊需求不需要修改#################################################
#job型別(import/audit),import為同步資料到oss,audit為校驗源端資料和oss資料是否一致
jobType=import

#只匯入原始檔最後修改時間大於該時間的資料,預設為0,這個時間為unix時間戳(秒數)
importSince=0

#在校驗時,如果檔案的最後修改時間大於該值,則跳過此檔案的校驗,預設值0為關閉該功能,所有檔案都需要校驗,這個時間為unix時間戳(秒數),jobType為audit時此項不生效
lastModify=0

# 每個子任務最大的檔案個數限制,這個會影響到任務執行的並行度,一般配置為總的檔案數/120
taskObjectCountLimit=10000

#每個子任務下載的最大檔案大小限制(bytes)
taskObjectSizeLimit=1000000000

#並行掃描檔案列表的執行緒數,隻影響掃描檔案的效率,沒有特殊需求不要修改
scanThreadCount=1

#最大允許並行掃描目錄的深度,預設為1就是隻能在頂級目錄間並行掃描,沒有特殊需求不要修改,隨意配置的過大會導致任務無法正常執行
maxMultiThreadScanDepth=1
參見阿里雲文件:https://help.aliyun.com/document_detail/56990.html?spm=5176.doc32196.6.1043.XVTSQ0

相關推薦

阿里oss掛載本地oss檔案上線記錄

我司的oss主要用來儲存靜態圖片,當前mobile和web站所使用的靜態圖片都放置在oss中使用,因此測試環境和生產環境都存在oss。因此,每次上線需要把測試oss上的檔案上傳到生產的oss上。步驟如下: 1、將目的端(即線上)的bucket掛載到本地的zice機器,使用o

Swoole一鍵操作基於阿里的RDS資料庫遷移+OSS檔案搬遷

    傳統的資料庫搬遷思路是把資料庫表的結構及資料都查詢出來,然後通過迴圈進行資料結構重組拼接。然後匯出!資料量少的話,這樣當然是沒毛病。當資料量太大的時候,伺服器的記憶體開銷就吃不住了,很容易炸掉,導致伺服器癱掉。當然我之前也這麼幹的 ,所以也一直想辦法解決這個問題  ,

阿里物件儲存服務,OSS使用經驗總結,圖片儲存,分頁查詢

阿里雲OSS-使用經驗總結,儲存,賬號-許可權,分頁,縮圖,賬號切換最近專案中,需要使用雲端儲存,最後選擇了阿里雲-物件儲存服務OSS。總的來說,比較簡單,但是仍然遇到了幾個問題,需要總結下。1.OSS總的使用介紹  https://help.aliyun.com/docum

阿里centos的本地連線、傳輸檔案、部署網站

      由於我那不給力的原裝系統win10家庭版,不自帶安全組策略,試了很多辦法都沒辦法遠端連線上阿里雲的windows桌面,所以要麼換本地系統要麼換伺服器系統的我,選擇了換伺服器的系統,於是從Windows server 2012換成了centos 7.4。    

php判斷本地遠端檔案是否存在

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

[媒體轉碼]視訊內容誰來保護?阿里視訊加密架構原理詳解

視訊行業的從業者——尤其是線上教育、財經分析等重視內容版權的播放平臺都知道,視訊安全是一個非常重要的基礎需求。使用者通過一次付費行為,就可以拿到付費視訊的播放URL,將播放URL進行二次分發,這種行為叫做盜鏈;使用者直接將視訊下載到本地,然後再進行二次上傳分發,這種行為叫做盜播,這兩種行為都會給內容

阿里Linux掛載SSD盤的方法

阿里雲購買的第2塊雲盤預設是不自動掛載的,需要手動配置掛載上。   1.檢視SSD雲盤 sudo fdisk -l   Disk /dev/vda: 42.9 GB, 42949672960 bytes, 83886080 sectors   Uni

阿里 - 更換系統盤(附帶檔案遷移)過程中遇到的一些錯誤

  * 必須先生成 【例項快照】,才能繼續生成 【系統映象】   進入方式:雲伺服器ECS -> 例項 -> 點選【例項ID】進入 ->  2. 本例項磁碟 -> 操作列中點選建立快照    3. 檢

阿里ECS部署pythonflask

因為原先伺服器是單位的,由於安全問題,不好放個人的東西,只好找一個虛擬主機之類的來放。但我對什麼雲或者虛擬主機都不懂,只是因為在註冊域名的時候,看到阿里雲有一個免費套餐,反正不用錢,就想試試當練手,就弄了個雲伺服器ECS基礎版。以下是就我個人的部署過程做個記錄:

同步阿里映象到本地,在本地搭建YUM倉庫 【轉】

1.下載阿里雲映象repo檔案 專案使用CentOS6系統,因此我下載的檔案是: # CentOS-Base.repo # # The mirror system uses the connecting IP address of the client and th

國內Maven倉庫--阿里Aliyun倉庫地址設定

2018年03月08日 16:08:23 水靜茶香 閱讀數:42866 個人分類: maven

2019年1月份最新阿里代金券領取使用

阿里雲代金券是阿里雲的一種優惠活動,阿里雲代金券可以在購物中抵扣同樣等值的現金使用。當購物者購買雲產品達到滿減條件時, 憑阿里雲代金券可享有一定的總額減免。· 阿里雲代金券,是阿里雲大使通過分發官方的推薦連結給需要購買阿里雲產品的朋友,點此去領取阿里雲代金券,本代金券自領取之後,7天之內使用有效,過期之後可

docker掛載本地目錄,實現檔案共享

docker可以支援把一個宿主機上的目錄掛載到映象裡。 ? 1 docker run -it -v /home/dock/Downloads:/usr/Downloads ubuntu64 /bin/bash 通過-v引數,冒號前為宿主機目錄,必須為絕對路

阿里簡訊提示 發現後門(webshell)檔案的解決辦法

昨晚凌晨收到新客戶的安全求助,說是阿里雲簡訊提示,網站有webshell木馬檔案被植入,我們SINE安全公司立即成立,安全應急響應小組,客戶提供了阿里雲的賬號密碼,隨即登陸阿里雲進去檢視到詳情,登陸雲盾看到有這樣的一個安全提示“網站後門-發現後門(Webshell)檔案”事件等級:緊急,影響資產:阿里雲ECS

遠端連線阿里伺服器的'本地'MySQL資料庫

阿里雲最近搞活動,學生價10塊一個月,於是乎找研究僧同學買了半年玩玩。 正常情況下買了伺服器之後還要買資料庫,但是我只是用來做測試,所以沒必要再買幾十塊一個月的買資料庫。 伺服器我買的是市場映象並且已經裝好了Ubuntu+MySQL+Apache+PHP環境

[CentOS Python系列] 五.阿里部署web環境通過IP地址訪問伺服器網頁

假設我們伺服器CentOS系統已經部署好了,現在我們需要向伺服器上傳一個HTML主頁,通過IP地址展示我們的內容,如何實現呢?本篇文章主要介紹講述部署阿里雲伺服器web環境,並通過IP地址訪問網頁的過程

阿里伺服器設定IPV6Https支援並通過AppStore稽核

蘋果上架要求:要求支援IPV6only(因為阿里雲主機沒有IPV6only)確認IPV6是否開啟:方式1:使用ifconfig檢視自己的IP地址是否含有IPv6地址。方式2.檢視服務監聽的IP中是否有IPv6格式的地址。(netstat -tuln)開啟IPV6:vim /etc/sysctl.confvim

阿里ecs伺服器配置java執行環境配置

1、先用Xshell登入阿里雲伺服器ECS。參考連結:https://blog.csdn.net/u013894429/article/details/788118232、登入阿里雲伺服器後,建立一個新使用者(一般都不直接用root使用者),並用新使用者登入。(1)建立一個使

阿裏服務器配置項目上線配置(純手動配置)

數據 更改權限 source 個數 tro threads tst bpa 如果 本人用的是ubuntu16.04 64位版服務器,其他Linux服務器大同小異 所需軟件在本文末尾提供永久下載鏈接 一、創建用用戶: 1.添加用戶: useradd -m 用戶名 2.設

在 Laravel 5.5+ 應用中配置使用阿里提供的簡訊服務檔案儲存服務(OSS

  配置簡訊服務 基於Laravel框架的使用方法 安裝 composer require mrgoon/aliyun-sms dev-master 在config/app.php中新增如下程式碼 'providers' => [