mysql_dump_script.sh 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #!/bin/bash
  2. #保存备份个数,备份7天数据
  3. number=7
  4. #备份保存路径
  5. backup_dir=/www/mysqlbackup
  6. #日期
  7. dd=`date +%Y-%m-%d-%H-%M-%S`
  8. #备份工具
  9. tool=mysqldump
  10. #用户名
  11. username=数据库账号
  12. #密码
  13. password=数据库密码
  14. #将要备份的数据库,此处为全部数据库
  15. database_name=alldb
  16. #如果文件夹不存在则创建
  17. if [ ! -d $backup_dir ];
  18. then
  19. mkdir -p $backup_dir;
  20. fi
  21. #简单写法 mysqldump -u root -p123456 users > /www/mysqlbackup/users-$filename.sql
  22. $tool -u $username -p$password -A > $backup_dir/$database_name-$dd.sql
  23. #写创建备份日志
  24. echo "create $backup_dir/$database_name-$dd.dupm" >> $backup_dir/log.txt
  25. #找出需要删除的备份
  26. delfile=`ls -l -crt $backup_dir/*.sql | awk '{print $9 }' | head -1`
  27. #判断现在的备份数量是否大于$number
  28. count=`ls -l -crt $backup_dir/*.sql | awk '{print $9 }' | wc -l`
  29. if [ $count -gt $number ]
  30. then
  31. #删除最早生成的备份,只保留number数量的备份
  32. rm $delfile
  33. #写删除文件日志
  34. echo "delete $delfile" >> $backup_dir/log.txt
  35. fi