backup 备份数据

地址: http://tiroc.iteye.com/blog/1048042

Shell代码  

  1. #首先,安装backup:
  2. $ gem install backup
  3. #在项目目录下执行:
  4. $ 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. require ‘yaml‘
  4. config = YAML.load_file(database_yml)
  5. Backup::Model.new(:my_backup, ‘my backup‘) do
  6. archive :my_archive do |archive|
  7. archive.add File.expand_path("./public/system/")
  8. end
  9. database MySQL do |db|
  10. db.name               = config[RAILS_ENV]["database"]
  11. db.username           = config[RAILS_ENV]["username"]
  12. db.password           = config[RAILS_ENV]["password"]
  13. db.host               = config[RAILS_ENV]["host"]
  14. db.port               = config[RAILS_ENV]["port"]
  15. db.socket             = config[RAILS_ENV]["socket"]
  16. db.skip_tables        = [‘sessions‘]
  17. db.additional_options = [‘--quick‘, ‘--single-transaction‘]
  18. end
  19. store_with FTP do |server|
  20. server.username = ‘test‘
  21. server.password = ‘test‘
  22. server.ip       = ‘192.168.1.101‘
  23. server.port     = 21
  24. server.path     = ‘~/backups/‘
  25. server.keep     = 5
  26. end
  27. compress_with Gzip do |compression|
  28. compression.best = true
  29. compression.fast = false
  30. end
  31. 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
自动备份效果更佳!

时间: 2024-08-30 11:04:29

backup 备份数据的相关文章

使用Microsoft Azure Backup备份Hyper-V数据

在之前的文章中讲到了微软的云计算备份解决方案-Microsoft Azure Backup,通过技术可以备份Azure中的VM以及企业内部的Hyper-V.关于Microsoft Azure Backup可参见之前写的文章<Microsoft Azure Backup介绍>: http://ericxuting.blog.51cto.com/8995534/1641104 今天主要为大家带来如何通过Azure Backup备份企业内部Hyper-V数据.(PS:本文档基于国际版Azure,由世

Linux系统crond、rsync、打包备份数据操作实战

Linux系统crond.rsync.打包备份数据操作实战 前面介绍了系统中定时任务.rsync.打包等各种操作,同时也介绍了实际生产环境中的各类案例,今天我们结合这几种功能做一次实战(备份数据) 一:项目背景 某公司WEB服务器数据非常重要,但是如果硬件出现故障,数据就会丢失,人工备份比较费时费力,因些需要进行相关自动备份,并且要备份至指定的备份服务器上 具体备份内容有: 1.网站站点所有目录及相关文件 2.系统相关的配置文件 3.网站的访问日志文件 具体要求如下:(每天0点备份) 1.WEB

Windows使用robocopy、forfiles备份数据

事件描述: 2016.11.14一早,禅道(bug管理系统)启动不了了.经过一天各种折腾都不能正常启动服务,找到数据库目录和备份目录,都是空的.这是服务器在祝我31岁生日快乐吗,不带这么玩的. 下图为正常状态 下图为启动失败状态 自身存在的问题: 由于心里一直没把禅道放在心上,服务器的备份策略从来没有检查过.也没做过"灾难恢复"的测试.以至于出了问题后才想着去了解这个系统,看官方文档,找数据库目录等. 到现在为止也不知道系统是为什么挂的,挂的同时,数据库文件一点影也没了.只能让测试重新

Vbs 清理备份数据-保留数据量

我们前面文章介绍了,通过vbs脚本对文件进行压缩备份,但是通过计划任务备份的话,备份的数据会越来越多,对于我们的磁盘空间利用来说比较浪费,所以我们又通过以下 脚本进行判断,将多余的备份数据清理, 我们需要将D盘下的backup目录下的备份数据只保留3份,其他的删除. 备份数据脚本见上一篇文章. Set dic = CreateObject("scripting.dictionary") set fso=CreateObject("Scripting.FileSystemObj

利用Azure backup备份和恢复Azure虚拟机(1)

中国区Azure最近发布了关于使用Azure Backup来备份VM服务,于3月1日正式上线,该功能对于需要对关键工作负载进行备份的用户来讲,极大的降低了操作复杂度.以前我们所使用Powershell来做的Azure虚拟机备份功能,不仅存在诸多限制,而且本身只是存储的快照,而不是虚拟机的. Azure backup的虚拟机备份服务使用的是Windows的数据卷影子复制服务(Volume Shadow Copy Service)能够使得在虚拟机不关机的情况下,对虚拟机进行快照,然后通过备份服务将快

完全备份数据和差异备份数据的shell脚本

#!/bin/bash  # # Description: 该脚本功能,以周为单位循环:周五实行完全备份,周六不备份,周日至周四实行差异备份: #              因工作需要,不实行压缩打包的方式,采用cp完全备份,rsync差异备份: #              若要使用该脚本,请直接修改下面的两个参数:BackupPath和DATAPath,其他地方请不要修改: #  DATE: 2017-04-24 22:43:00 # MODIFY DATE: 2017-04-28 10:0

更换Oracle备份数据文件

应用背景:需要查看和修改一下Interlib中的数据,所以要反复的将备份数据进行导入和清空.整理一下步骤 删除tablespace drop tablespace interlib including contents; 删除User drop user interlib cascade; 重新创建表空间和用户 create tablespace interlib datafile'/opt/oracle/oradata/interlib/interlib.dbf' size 2048m; al

使用Windows Server Backup备份与还原Hyper-V虚拟机

Windows Server Backup 是Windows Server内置的一种功能,使用 Windows Server Backup 可以备份整个服务器(所有卷).选定卷.系统状态或特定的文件或文件夹,并且可以创建用于裸机恢复的备份.可以恢复卷.文件夹.文件.某些应用程序和系统状态.此外,在发生诸如硬盘故障之类的灾难时,可以执行裸机恢复.(为此,你将需要备份整个服务器或只备份包含操作系统文件的卷以及 Windows 恢复环境,这会将完整的系统还原到旧系统中或新的硬盘上.)可以使用 Wind

Centos 定时备份数据

Centos 通过计划任务定时备份数据 今年公司买了一套OA产品,对于功能现在都还处在开发和配置阶段,作为管理员的我,需要对每天的数据及对应的数据库进行定期备份,因为OA产品是运行在Linux上的,所以我们需要Linux上配置shell脚本,然后通过计划任务来实现对数据的定时备份,对于相关脚本内容见下即可,但是需求是需要对指定的目录进行压缩然以日期进行命名,最终移动到指定的路劲即可.对于linux上的计划任务程序跟windows上的很相似,windows上我们可以直接运行taskschd.msc