2017-05-30 175 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 
    
  • :)