个人博客自动备份7天内的mysql数据库

1、先写个shell脚本

#!/bin/sh
# mysql_backup.sh: backup mysql databases and keep newest 7 days backup.
# -----------------------------
db_user="taotao"
db_passwd="taotaoclothes"
db_host="127.0.0.1"
db_port="3306"

# the directory for story your backup file.
backup_dir="/home/mysqldata"

# date format for backup file (dd-mm-yyyy)
time="$(date +"%Y-%m-%d")"

# mysql, mysqldump and some other bin's path
MYSQL="/usr/bin/mysql"
MYSQLDUMP="/usr/bin/mysqldump"
MKDIR="$(which mkdir)"
RM="$(which rm)"
MV="$(which mv)"
GZIP="$(which gzip)"
#针对不同系统,如果环境变量都有。可以去掉

# check the directory for store backup is writeable
test ! -w $backup_dir && echo "Error: $backup_dir is un-writeable." && exit 0

# the directory for store the newest backup
test ! -d "$backup_dir" && $MKDIR "$backup_dir"

# get all databases
for db in mysql sms clothes 'clothes_v2'
do
         $MYSQLDUMP  -u $db_user -h $db_host -p$db_passwd $db -P $db_port  > "$backup_dir/$db_host-$db-$time.sql"
done

#delete the oldest backup 7 days ago
find $backup_dir -name "*.sql" -mtime +10 |xargs rm -rf

#zcat $backup_dir/$db_host-ad_db-$time.gz > $backup_dir/tmpsql &  /usr/bin/mysql -h 127.0.0.1 -u root -p'123456' ad_db< $backup_dir/tmpsql
 exit 0;

2、把shell脚本加入crontab执行

30 3 * * * /home/backup/mysqldump/mysqldump.sh

所有原创文章采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。
您可以自由的转载和修改,但请务必注明文章来源并且不可用于商业目的。
本站部分内容收集于互联网,如果有侵权内容、不妥之处,请联系我们删除。敬请谅解!

添加新评论

  关于博主

当你发现自己的才华撑不起野心时,就请安静下来学习吧

  近期评论

  •  oevsgwftiw: 这篇文章不错!
  •  tptzkwumow: 这篇文章不错!
  •  higxcaasal: 这篇文章不错!
  •  gbkzxsngnm: 这篇文章不错!
  •  amozacdtyp: 作者的才华横溢,让这篇文章成为了一篇不可多得的艺术品。
  •  jpxtzzllvr: 内容的丰富性和深度让人仿佛置身于知识的海洋,受益匪浅。
  •  wjlsiejlxz: 作者的观点新颖且实用,让人在阅读中获得了新的思考和灵感。
  •  vlbfsfopgo: 建议引入反面案例,增强辩证性。
  •  qspdecneno: 跳出常规思维,角度独特,令人耳目一新。
  •  cuokmcjfrz: 建议控制调侃频率,避免消解主题深度。

快乐地过是一天,不快乐地过也是一天,我为什么不快快乐乐地过每一天呢?

岂能尽随人愿,但求无愧我心。

在你内心深处,还有无穷的潜力,有一天当你回首看时,你就会知道这绝对是真的。

活在当下,别在怀念过去或者憧憬未来中浪费掉你现在的生活。

挫折时,要像大树一样,被砍了,还能再长;也要像杂草一样,虽让人践踏,但还能勇敢地活下去。