【Shell 脚本】Mysql 定时备份
参考 使用shell脚本实现定时备份mysql数据库
本脚本增加了系统判断
#!/usr/bin/env bash #mysql 备份,保留最近10天备份 #备份目录 backupDir=/Users/yangqi/backup ############# MySQL config ############## host="127.0.0.1" user="root" pswd="123" #要备份的数据库数组 databases=(vastarai) #系统 os_name [Linux / Darwin(Mac OS)] os_name=`uname -s` #今天的日期 Ymd today=`date +%Y%m%d` #10天前的日期 根据系统区别获取 if [ "$os_name" == "Linux" ]; then timeTenDayAgo=`date +%Y%m%d --date='-10 day'` elif [ "$os_name" == "Darwin" ]; then timeTenDayAgo=`date -v -10d +%Y%m%d` fi #开始备份 for database in ${databases[@]} do echo "开始备份${database}" mysqldump -h${host} -u${user} -p${pswd} ${database} | gzip > ${backupDir}/${database}-${today}.sql.gz echo "成功备份${database} 到${backupDir}" if [ ! -f "${backupDir}/${database}-${timeTenDayAgo}.sql.gz" ]; then echo "10天前备份不存在,无需删除" else rm -f ${backupDir}/${database}-${timeTenDayAgo}.sql.gz echo "删除10天前备份 ${database}-${timeTenDayAgo}.sql.gz" fi done