zoukankan      html  css  js  c++  java
  • backup 备份数据

    地址: http://tiroc.iteye.com/blog/1048042
     
    Shell代码  收藏代码
    1. #首先,安装backup:  
    2.   
    3. $ gem install backup  
    4.   
    5. #在项目目录下执行:  
    6.   
    7. $ backup generate --databases='mysql' --archives --storages='ftp' --compressors='gzip' --path='config'  

    把config目录下生成的config.rb重命名为backup.rb,我的配置如下:

    Ruby代码  收藏代码
    1. database_yml = File.expand_path("../config/database.yml",  __FILE__)  
    2. RAILS_ENV    = ENV['RAILS_ENV'] || 'development'  
    3.       
    4. require 'yaml'  
    5. config = YAML.load_file(database_yml)  
    6.       
    7. Backup::Model.new(:my_backup, 'my backup') do  
    8.       
    9.   archive :my_archive do |archive|  
    10.     archive.add File.expand_path("./public/system/")  
    11.   end  
    12.       
    13.   database MySQL do |db|  
    14.     db.name               = config[RAILS_ENV]["database"]  
    15.     db.username           = config[RAILS_ENV]["username"]  
    16.     db.password           = config[RAILS_ENV]["password"]  
    17.     db.host               = config[RAILS_ENV]["host"]  
    18.     db.port               = config[RAILS_ENV]["port"]  
    19.     db.socket             = config[RAILS_ENV]["socket"]  
    20.     db.skip_tables        = ['sessions']  
    21.     db.additional_options = ['--quick', '--single-transaction']  
    22.   end  
    23.       
    24.   store_with FTP do |server|  
    25.     server.username = 'test'  
    26.     server.password = 'test'  
    27.     server.ip       = '192.168.1.101'  
    28.     server.port     = 21  
    29.     server.path     = '~/backups/'  
    30.     server.keep     = 5  
    31.   end  
    32.       
    33.   compress_with Gzip do |compression|  
    34.     compression.best = true  
    35.     compression.fast = false  
    36.   end  
    37.       
    38. end  

     说明:
      1、public/system/下是由paperclip上传的图片
      2、FTP的配置信息最好也像数据库的配置那样,配置在另外一个yml文件中,并且这个文件不要放入版本控制系统中,我这只是一个测试所以无所谓

    在lib/tasks目录下新建bakcup.rake如下:

    Ruby代码  收藏代码
    1. namespace :db do  
    2.   desc "My Backup"  
    3.   task :backup do  
    4.     sh "backup perform --trigger my_backup --config_file 'config/backup.rb'"  
    5.   end  
    6. end  

     在项目根目录下执行这条命令进行备份:

    Shell代码  收藏代码
    1. $ rake db:backup  

    配合whenever 自动备份效果更佳!

  • 相关阅读:
    笨办法06字符串(string)和文本
    react学习之路-配制antd-mobile
    react.js学习之路六
    bug
    react.js学习之路五
    react.js学习之路四
    react.js学习之路三
    react.js学习之路二
    react.js学习之路一
    MVC,MVP 和 MVVM 的区别之处
  • 原文地址:https://www.cnblogs.com/qinyan20/p/4140876.html
Copyright © 2011-2022 走看看