2017-05-30 173 views
1

我正在測試備份寶石,並且db的大小非常小。我有mongodb和我在一起。紅寶石備份寶石s3上傳不起作用

我的配置是:

Backup::Model.new(:backup_db, 'Backup for my db') do 
    split_into_chunks_of 250 
    database MongoDB do |db| 
    db.name    = "my_dev" 
    # db.username   = "" 
    # db.password   = "" 
    db.host    = "localhost" 
    db.port    = 27017 
    db.ipv6    = false 
    # db.only_collections = ["only", "these", "collections"] 
    db.additional_options = [] 
    db.lock    = false 
    db.oplog    = false 
end 

store_with S3 do |s3| 
    s3.access_key_id  = "my key" 
    s3.secret_access_key = "my key" 
    s3.region   = "my region" 
    s3.bucket   = "https://region-2.amazonaws.com/bucket-name" 
    s3.keep    = 10 
    s3.max_retries = 3 
    s3.retry_waitsec = 5 
    s3.chunk_size = 5 # MiB 
end 
sync_with Cloud::S3 do |s3| 
    s3.access_key_id  = "my key" 
    s3.secret_access_key = "my key" 
    s3.bucket   = "https://region-2.amazonaws.com/bucket-name" 
    s3.region   = "my-region" 
    # s3.path    = "" 
    s3.mirror   = true 
    s3.concurrency_type = false 
    s3.concurrency_level = 2 

    s3.directories do |directory| 
    end 
end 

compress_with Gzip 
end 

當運行備份執行,我收到以下錯誤:

[2017/05/30 14:23:28][error] ModelError: Backup for Backup Gauge Lrs db (backup_db) Failed! 
[2017/05/30 14:23:28][error] An Error occured which has caused this Backup to abort before completion. 
[2017/05/30 14:23:28][error] Reason: Excon::Errors::SocketError 
[2017/05/30 14:23:28][error] break from proc-closure (LocalJumpError) 
[2017/05/30 14:23:28][error] 
[2017/05/30 14:23:28][error] Backtrace: 

任何人給我解釋一下這個錯誤?我使用日誌文件選項運行該命令。同樣的日誌我也在文件中。

我用Rails 4.2和Ruby 2.2.1

備份寶石的版本是3.4.0

回答

0

我重新配置備份設置,現在是工作的罰款。我不知道爲什麼這個錯誤出現之前。

我用下面的命令來運行備份:

$ backup perform --trigger my_backup 

我帶到獲得的步驟它的工作:

  1. 我使用rbenv,我創建.ruby,寶石和.ruby版本在一個新的文件夾,並安裝備份

    $ gem install backup 
    

它安裝了備份的所有依賴關係。

  • 生成與我的MongoDB

    $ backup generate:model --trigger my_backup --storages='s3' --compressor='gzip' --notifiers='mail' --databases="mongodb" 
    
  • 並運行備份執行命令的模範,它的作品!

    $ backup perform --trigger my_backup 
    
  • :)