使用crontab定时备份MySQL数据库

定时备份

1
2
#!/bin/sh
mysqldump --opt -Q -uroot -ppassword --default-character-set=utf8mb4 $(datatable) > /$(pwd)/$(file_name)_$(date "+%Y%m%d_%H:%M").sql

参数详解

  1. –opt起到优化的作用,和–add-drop-table, –add-locks, –create-options, –skip-opt作用相似。
  2. -Q将表名和列名使用 包裹。以防他们是关键字时报错。
  3. –default-character-set 设置导出的字符集

删除沉余备份

删除30天前备份的沉余数据

1
2
#!/bin/sh
find /$(pwd) -name '*.sql' -mtime +30 -exec rm -rf {} \;