MySQL备份脚本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | [root@CHN - BJ - YJ - DB - MALL - 02 ~] # cat /data/db_bak/xtrabackup_192.168.1.121_v1.5.sh #!/bin/sh #created by zhangluya #Date:2015-02-04 #Info:Script about mysql backup source / etc / profile DBuser = "root" DBpasswd = "111111" BAK_dir = "/data/db_bak" MYSQL = "/data1/mysq/bin/mysql" CNF_dir = "/etc/my.cnf" LOCAL_IP = "192.168.1.1" INNOBACKUPEX = "/usr/local/xtrabackup/bin/innobackupex" if [ ! - d $BAK_dir ];then / bin / mkdir - p $BAK_dir fi echo "-----------------------------------------------------------------------------------" > ${BAK_dir} / ${LOCAL_IP}.log echo "Start Backup Time: `date +'%F %T'`" >> ${BAK_dir} / ${LOCAL_IP}.log #Backup Mysql $INNOBACKUPEX - - defaults - file = ${CNF_dir} - - host = 127.0 . 0.1 - - user = $DBuser - - password = $DBpasswd $BAK_dir >> $BAK_dir / bak_`date + % Y - % m - % d`.log 2 >& 1 echo "Mysql Backup Finished Time: `date +'%F %T'`" >> ${BAK_dir} / ${LOCAL_IP}.log cd ${BAK_dir} / / bin / tar zcf bak_`date + % Y - % m - % d`.tar.gz * `date + % Y - % m - % d` * md5sum bak_`date + % Y - % m - % d`.tar.gz|awk '{print $1}' > bak_`date + % Y - % m - % d`_MD5 / bin / rm - rf `date + "%Y-%m-%d" - d "-1 days" ` * echo "Tar Backup Finished Time: `date +'%F %T'`" >> ${BAK_dir} / ${LOCAL_IP}.log scp - l 100000 ${BAK_dir} / bak_`date + % Y - % m - % d`.tar.gz root@ 192.168 . 1.126 : / data / all_db_bak / 192.168 . 1.121 / if [ $? = 0 ];then echo "scp ${BAK_dir}/bak_`date +%Y-%m-%d`.tar.gz is finished~" >> ${BAK_dir} / ${LOCAL_IP}.log fi #md5 check Remote_md5 = `ssh root@ 192.168 . 1.126 "md5sum /data/all_db_bak/192.168.1.1/bak_$(date +%F).tar.gz" |awk '{print $1}' ` Local_md5 = `cat bak_$(date + % F)_MD5` if [[ ${Remote_md5} = = ${Local_md5} ]];then echo "bak_`date +%Y-%m-%d`.tar.gz--->check md5 is ok~ ^_^" >> ${BAK_dir} / ${LOCAL_IP}.log else echo "sync backup file is error~ try again~ -_-!" >> ${BAK_dir} / ${LOCAL_IP}.log fi #delete old data rm - rf ${BAK_dir} / bak_`date + "%Y-%m-%d" - d "-5 days" ` * du - sh / data / db_bak / * |grep .tar.gz >> ${BAK_dir} / ${LOCAL_IP}.log 2 >& 1 echo "-----------------------------------------------------------------------------------" ${BAK_dir} / ${LOCAL_IP}.log #send mail~ mail - s "192.168.1.1 db-mall-02" zhangluya@hichao.com < ${BAK_dir} / ${LOCAL_IP}.log |
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步