目錄html
Google Cloud Storage,是 Google Cloud Platform 的一項服務,爲普遍的數據類型提供了統一的對象存儲,包括活躍數據和存檔數據。它可分爲中個存儲類別:區域、多區域、近線和遠線。全部類別都提供了無限數據、用於數據訪問的相同工具和 API、OAuth 和細粒度訪問控制、訪問其餘 Google Cloud Storage 服務和按使用付費模式的功能。linux
您可能沒法立刻肯定咱們四種類別中的哪種適合您的項目。但您能夠隨意挑選一種開始使用,之後能夠輕鬆切換方案。隨着您的需求出現變化,對象生命週期管理功能能夠幫助您自動運用各類類別來優化性價比。git
存儲類別 | Multi-Regional | Regional | Nearline | Coldline |
---|---|---|---|---|
價格 | 每個月每 GB $0.026 - $0.036 | 每個月每 GB $0.02 - $0.035 | 每個月每 GB $0.01 - $0.02 | 每個月每 GB $0.007 - $0.014 |
適用場景 | 適合爲頻繁訪問的數據提供最高的可用性 | 適合在單個區域內頻繁訪問的數據 | 適合訪問頻率低於一月一次的數據 | 適合訪問頻率低於一年一次的數據 |
冗餘 | 地理位置冗餘 | 區域級,跨可用性地區實現冗餘 | 區域級 | 區域級 |
可用性 | 服務等級協議承諾爲 99.95% | 服務等級協議承諾爲 99.9% | 服務等級協議承諾爲 99% | 服務等級協議承諾爲 99% |
耐用性 | 99.999999999% | 99.999999999% | 99.999999999% | 99.999999999% |
響應速度 | 毫秒級訪問速度,一致的 API | 毫秒級訪問速度,一致的 API | 毫秒級訪問速度,一致的 API | 毫秒級訪問速度,一致的 API |
使用場景 | 內容存儲和分發、業務連續性 | 在區域內存儲數據和進行數據分析 | 存儲不常訪問的內容 | 歸檔存儲、備份和恢復 |
應用 | 視頻、多媒體、業務連續性 | 轉碼、數據分析、計算密集型數據處理 | 備份長尾內容、極少訪問的文檔 | 歸檔源文件備份、災難恢復 |
咱們如今須要把咱們在 Google 虛擬機上面的文件備份到 GCS(Google Cloud Storage) 上面去,咱們這是使用 Gsutil工具,Gsutil工具是一個經過Google雲軟件開發工具包提供的Python應用。管理員可使用此工具從命令行中執行存儲桶和對象管理任務,例如刪除對象和存儲桶。web
咱們登錄到虛擬機上面,默認已經給咱們添加了gsutil
命令,若是沒有,請安裝 Google Cloud SDK 。
而後咱們登錄虛擬機使用命令gcloud auth login
進行受權。api
[root@sspanel ~]# gcloud auth login You are running on a Google Compute Engine virtual machine. It is recommended that you use service accounts for authentication. You can run: $ gcloud config set account `ACCOUNT` to switch accounts if necessary. Your credentials may be visible to others with access to this virtual machine. Are you sure you want to authenticate with your personal account? Do you want to continue (Y/n)? Y Go to the following link in your browser: https://accounts.google.com/o/oauth2/auth?redirect_uri=uxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.googleapis.com%2Fauth%2Fcloud-platform+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Faptype=offline Enter verification code:
而後生成隨機碼,咱們輸入到終端,而後就受權完成了。bash
Enter verification code: 4/RQGq4RAUBrp0pA_R3SvuREXyLtczDuy-WLi1sqo23jJhAxEgchEMsos WARNING: `gcloud auth login` no longer writes application default credentials. If you need to use ADC, see: gcloud auth application-default --help You are now logged in as [wzlinux18@gmail.com]. Your current project is [proxy1-179115]. You can change this setting by running: $ gcloud config set project PROJECT_ID
如今受權已經完成。app
注意:若是您使用的是 Google Cloud Shell 或 Google Compute Engine 實例,則會預先安裝並驗證 Python 和 gsutil。若是您設置的 Google Compute Engine 實例沒有範圍限定爲 Cloud Storage 的服務賬號,請運行 gsutil config 並按照說明操做。工具
存儲分區是 Cloud Storage 中用於存放數據的基本容器。
要建立存儲分區,請執行如下操做:使用gsutil mb
命令建立一個存儲分區併爲其指定一個惟一的名稱:開發工具
[root@sspanel ~]# gsutil mb -l asia-east1 gs://myweb-backup/ Creating gs://myweb-backup/...
咱們也能夠在 Google Cloud Platform Console 看到建立的存儲分區,能夠對存儲分區進行詳細的設定。測試
好比咱們的數據是不多訪問的,能夠修改一下存儲類別爲 Coldline,也能夠添加對象生命週期,以節省咱們的空間。
命令的操做和咱們平時在 Linux 的操做命令差很少,咱們把個人整個網站目錄上傳上去,對一些多任務的操做,咱們能夠添加一個-m
參數。
[root@sspanel wwwroot]# gsutil cp -r www.wzlinux.xyz gs://myweb-backup/ Copying file://www.wzlinux.xyz/index.html [Content-Type=text/html]... Copying file://www.wzlinux.xyz/404.html [Content-Type=text/html]... Copying file://www.wzlinux.xyz/.htaccess [Content-Type=application/octet-stream]... Copying file://www.wzlinux.xyz/.gitattributes [Content-Type=application/octet-stream]... - [4 files][ 1.6 KiB/ 1.6 KiB] ==> NOTE: You are performing a sequence of gsutil operations that may run significantly faster if you instead use gsutil -m cp ... Please see the -m section under "gsutil help options" for further information about when gsutil -m can be advantageous. Copying file://www.wzlinux.xyz/.gitignore [Content-Type=application/octet-stream]...
而後咱們到 Console 上面查看一下上傳的文件,爲了增長傳輸速度,建議你們給文件打包以後再進行傳輸。
下載也很簡單,我這裏就拿着官方的案例寫上吧,偷個懶。
gsutil cp gs://my-awesome-bucket/kitten.png Desktop/kitten2.png 若是操做成功,此命令會返回如下內容: Copying gs://my-awesome-bucket/kitten.png... Downloading file://Desktop/kitten2.png: 0 B/164.3 KiB Downloading file://Desktop/kitten2.png: 164.3 KiB/164.3 KiB
gsutil cp gs://my-awesome-bucket/kitten.png gs://my-awesome-bucket/just-a-folder/kitten3.png
gsutil ls gs://my-awesome-bucket
咱們已經瞭解了備份的命令,很是簡單,那咱們作一個腳本,添加到定時任務中,天天同一時間把數據備份到存儲中。
#! /bin/bash export HOME="/home/wangzan" cd /root/ tar -zcPf www.wzlinux.xyz$(date +%Y%m%d).tar.gz /www/wwwroot/www.wzlinux.xyz; /bin/gsutil cp www.wzlinux.xyz$(date +%Y%m%d).tar.gz gs://myweb-backup/; rm -f www.wzlinux.xyz$(date +%Y%m%d).tar.gz;
添加定時任務,讓其天天凌晨2點鐘進行備份。
0 2 * * * /home/data/scripts/www_backup.sh
咱們測試了一下,看下效果。
以前一直上傳不成功,缺乏一個環境變量HOME,加上就能夠,證書在什麼路徑就加在哪裏。
參考文檔: https://cloud.google.com/storage/docs/quickstart-gsutil