您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件开发专栏 > 系统/运维 > 正文

服务器运维技巧分享,用backup为数据库做定时备份

发表于:2018-08-06 作者:佚名 来源:今日头条

写了套网站,除了日志需要定时分割外,数据库还需要定时备份,如果你用的是云服务器自带的备份功能,会更简单些,但也需要自行购买数据库服务器,对于像我这种还在初期的系统来说,能减少服务器的开支就一定要减少,毕竟现在还不挣钱。

安装

用的是ruby on rails,所以用gem来安装


  1. gem install backup 

注意,这个版本有V3和V4版本区别,两个不太一样,小编用的是3.4.0。

生成备份模型


  1. backup generate:model --trigger my_backup 

其中my_backup换成你备份的名字就可以,可以随便改

这时,你会在生成一个文件,在这个路径下~/Backup/models/my_backup.rb,这个路径也可以自定义

修改配置文件

服务器运维技巧分享,用backup为数据库做定时备份

由于我用的是mysql,直接套用这个模板就可以了,另外加了一个compress_with Gzip,可以进行压缩。

服务器运维技巧分享,用backup为数据库做定时备份

这句是备份在什么地方,备份在本地,还可以选择邮件发送,ftp,以及一些云存储。

执行备份

backup perform --trigger my_backup

手动执行备份,就可以看到效果了,会生成以时间为名字的文件夹,进去后是压缩后的备份文件

自动执行

上面是手动的,如果想让系统自动执行,可以用whenever,安装gem 'whenever', :require => false

添加自己的周期性任务,在config/schedule.rb文件中添加

服务器运维技巧分享,用backup为数据库做定时备份

这样,每晚一点开始执行备份程序。

执行周期性任务,更新schedule.rb中的任务到cronjob中


  1. crontab -e 


  1. whenever -iw 

如果做了更改,可以用whenever --update-crontab这条命令更新