寫了套網站,除了日誌需要定時分割並備份外,資料庫還需要定時備份,如果你用的是雲伺服器自帶的備份功能,會更簡單些,但也需要自行購買資料庫伺服器,對於像我這種還在初期的系統來說,能減少伺服器的開支就一定要減少,畢竟現在還不掙錢。分享一下我自己用的資料庫自動定時備份方案
安裝
用的是ruby on rails,所以用gem來安裝
gem install backup
注意,這個版本有V3和V4版本區別,兩個不太一樣,小編用的是3。4。0。
生成備份模型
backup generate:model --trigger my_backup
其中my_backup換成你備份的名字就可以,可以隨便改
這時,你會在生成一個檔案,在這個路徑下~/Backup/models/my_backup。rb,這個路徑也可以自定義
修改配置檔案
由於我用的是mysql,直接套用這個模板就可以了,另外加了一個compress_with Gzip,可以進行壓縮。
這句是備份在什麼地方,備份在本地,還可以選擇郵件傳送,ftp,以及一些雲端儲存。
執行備份
backup perform --trigger my_backup
手動執行備份,就可以看到效果了,會生成以時間為名字的資料夾,進去後是壓縮後的備份檔案
自動執行
上面是手動的,如果想讓系統自動執行,可以用whenever,安裝gem ‘whenever’, :require => false
新增自己的週期性任務,在config/schedule。rb檔案中新增
這樣,每晚一點開始執行備份程式。
執行週期性任務,更新schedule。rb中的任務到cronjob中
crontab -e
whenever -iw
如果做了更改,可以用
whenever --update-crontab
這條命令更新