用 Backup gem 實現簡單備份
簡單記錄一下 backup gem 的運作,首先安裝gem
gem install backup
然後產生設定檔及backup model
backup generate:config && backup generate:model --trigger "備份task名稱" --storages="s3" --compressors="gzip"
接著就是設定備份
Backup::Model.new(:test_backup, 'Description for test_backup') do
split_into_chunks_of 500
archive :product_photos do |archive|
archive.add '要備份的目錄 ex. /home/apps/forum/public/uploads/'
end
store_with S3 do |s3|
s3.access_key_id = "access_key"
s3.secret_access_key = "secret_key"
s3.region = "區域 ex. ap-northeast-1"
s3.bucket = "s3 bucket 名稱"
s3.path = "Bucket裡的路徑 ex. /test_bkup"
s3.keep = 5
end
compress_with Gzip
notify_by Mail do |mail|
mail.on_success = true
mail.on_failure = true
mail.from = 'techadmin@buyble.com.tw'
mail.to = 'unayung.chen@buyble.com.tw'
mail.address = 'smtp.gmail.com'
mail.port = 587
mail.domain = 'buyble.com.tw'
mail.user_name = 'techadmin@buyble.com.tw'
mail.password = 'password_here'
mail.authentication = 'plain'
mail.enable_starttls_auto = true
end
end
這樣就設定完成,非常直覺的設定檔
最後只要下簡單的指令就可以進行backup
backup perform -t 備份task名稱
超ez,可喜可賀!!