Ruby / Bash脚本用于备份我的表并删除记录

时间:2012-03-31 19:09:14

标签: mysql ruby-on-rails ruby bash

我将数据库中的所有事务保存而不是日志,但我不希望表格变得庞大而缓慢,所以我想创建一个cron作业,每隔几个月做一些事情,如:

1-备份硬盘驱动器的表 2-将所有记录移动到类似table_backup的新表中 3-删除该表上的记录

这种方式,如果插入将花费大量时间与巨大的表,表将每隔几个月释放

请注意,我正在使用带有活动记录模型的ruby访问数据库表,您认为做这种事情的最佳方法是什么,是否有我建议的替代方案?

1 个答案:

答案 0 :(得分:1)

我建议如下:

  1. 冗余 - 根据数据的重要程度,您可能需要冗余存储(例如主从数据库设置或RAID设备上的数据库)
  2. 备份 - 每小时/每日/每周备份(再次,取决于维护这些备份的重要程度,您可以承受多少空间,您获得的流量,以及整个数据库对数据库的影响。
  3. 截断 - 有一个cron任务(查看whenever gem,这使得这很容易)删除所有早于某个阈值的条目(2周?)。没有必要填充新表只是为了删除旧条目。
  4. 我相信这些方法是正交的,因此您可以选择适合您的方法,或先实施重要的方法。