mysql backup 脚本

网上备份脚本很多,但考虑都不周全。这里增加了

Java代码   收藏代码
  1. umask 0077  

保证创建备份文件只能是创建者跟root可以访问,其他用户没有权限,保证了数据库备份的安全。

Java代码   收藏代码
  1. find $BACKUP_DIR -type f -mtime +$COPIES -delete  

上面脚本是负责备份的份数管理,

 

Java代码   收藏代码
  1. #!/bin/bash  
  2. ###################################  
  3. # $Id: backup 380 2012-04-02 10:38:59Z netkiller $  
  4. # Author: netkiller@msn.com  
  5. # Home: http://netkiller.github.com  
  6. ###################################  
  7. BACKUP_HOST="localhost"  
  8. BACKUP_USER="root"  
  9. BACKUP_PASS=""  
  10. BACKUP_DIR=/opt/backup  
  11. BACKUP_DBNAME="test neo"  
  12. #Number of copies  
  13. COPIES=7  
  14. ####################################  
  15. MYSQLDUMP="mysqldump"  
  16. #TIMEPOINT=$(date -u +%Y-%m-%d)  
  17. TIMEPOINT=$(date -u +%Y-%m-%d.%H:%M:%S)  
  18. MYSQLDUMP_OPTS="-h $BACKUP_HOST -u$BACKUP_USER -p$BACKUP_PASS"  
  19. ####################################  
  20. umask 0077  
  21. test ! -d "$BACKUP_DIR" && mkdir -p "$BACKUP_DIR"  
  22. test ! -w $BACKUP_DIR && echo "Error: $BACKUP_DIR is un-writeable." && exit 0  
  23.   
  24. for dbname in $BACKUP_DBNAME  
  25. do  
  26.     test ! -d "$BACKUP_DIR/$dbname" && mkdir -p "$BACKUP_DIR/$dbname"  
  27.   
  28.     $MYSQLDUMP $MYSQLDUMP_OPTS $dbname | gzip > $BACKUP_DIR/$dbname/$dbname.$TIMEPOINT.sql.gz  
  29. done  
  30. find $BACKUP_DIR -type f -mtime +$COPIES -delete  
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值