记录mysql 备份脚本
admin
2023-05-19 17:22:39
0

下文内容主要给大家带来记录mysql 备份脚本,这里所讲到的知识,与书籍略有不同,都是专业技术人员在与用户接触过程中,总结出来的,具有一定的经验分享价值,希望给广大读者带来帮助。

mysql备份脚本,记录一下:

全备:

#!/bin/sh 
set -x                                                            
USER=root 
PASSWORD=123456
time=`date +"%y-%m-%d-%H-%M"`  
date >> /data/mysqlbackup/logs/$time'_allbackup.log' 
 
#1 begin Full Backups 
echo "begin backup--------------------------------" >> /data/mysqlbackup/logs/$time'_allbackup.log' 
   /usr/bin/innobackupex --defaults-file=/etc/my.cnf  --user=$USER --password=$PASSWORD --use-memory=2GB  --parallel=4  --no-timestamp /data/mysqlbackup/full-$time 2>>/data/mysqlbackup/logs/$time'_allbackup.log' 
cp /etc/my.cnf /data/mysqlbackup/full-$time/my.cnf.bk
echo "end backup----------------------------------" >> /data/mysqlbackup/logs/$time'_allbackup.log' 

#2 begin compress 
echo "Begin compress------------------------------" >> /data/mysqlbackup/logs/$time'_allbackup.log' 
    archivename=full-$time
echo "The archive time is  $time" >> /data/mysqlbackup/logs/$time'_allbackup.log'
    tarname=$archivename.tar.gz 
echo "The tar name is $tarname" >> /data/mysqlbackup/logs/$time'_allbackup.log'
cd /data/mysqlbackup
/bin/tar -zcvf ./$tarname ./$archivename >> /data/mysqlbackup/logs/$time'_allbackup.log' 2>&1
rm -rf /data/mysqlbackup/full/xtrabackup_checkpoints 
cp /data/mysqlbackup/full-$time/xtrabackup_checkpoints /data/mysqlbackup/full/xtrabackup_checkpoints记录mysql 备份脚本


#3 Delete Document

file=/data/mysqlbackup/$tarname if [[ -e $file ]]     then         echo "The $tarname file exists.begin to perform delete action"   >> /data/mysqlbackup/logs/$time'_allbackup.log'         /bin/rm -rf /data/mysqlbackup/$archivename     else         echo "The file is not exists." >> /data/mysqlbackup/logs/$time'_allbackup.log'     fi date >> /data/mysqlbackup/logs/$time'_allbackup.log' find /data/mysqlbackup/*tar.gz -ctime +1|xargs -I '{}'  mv  {}  /data/ftp cd /data/ftp function logftp (){ ftp -v -n xxx.xxx.xxx.xxx << EOF user username password binary hash cd ftp_mysql prompt put /data/mysqlbackup/*tar.gz ls -la bye EOF } logftp >>/data/mysqlbackup/logs/to_ftp.log cd /data/ftp find /data/ftp/*tar.gz |xargs rm -rf

增量备份:

#!/bin/sh
set -x
USER=root
PASSWORD=123456
time=`date +"%y-%m-%d-%H-%M"`
date >>/data/mysqlbackup/logs/$time'_incre.log'

#1 begin Incre Backups
echo "begin backup--------------------------------" >> /data/mysqlbackup/logs/$time'_incre.log'
   /usr/bin/innobackupex --defaults-file=/etc/my.cnf  --user=$USER --password=$PASSWORD  --incremental --incremental-basedir=/data/mysqlbackup/full --use-memory=2GB --safe-slave-backup --parallel=4 --slave-info   --no-timestamp /data/mysqlbackup/incre-$time  2>>/data/mysqlbackup/logs/$time'_incre.log'
cp /etc/my.cnf /data/mysqlbackup/incre-$time/my.cnf.bk
echo "end backup----------------------------------" >> /data/mysqlbackup/logs/$time'_incre.log'

#2 begin compress
echo "Begin compress------------------------------" >> /data/mysqlbackup/logs/$time'_incre.log'
    archivename=incre-$time
echo "The archive time is  $time" >> /data/mysqlbackup/logs/$time'_incre.log'
    tarname=$archivename.tar.gz
echo "The tar name is $tarname" >> /data/mysqlbackup/logs/$time'_incre.log'
cd /data/mysqlbackup/
/bin/tar -zcvf ./$tarname ./$archivename >> /data/mysqlbackup/logs/$time'_incre.log' 2>&1

#3 Delete Document
file=/data/mysqlbackup/$tarname
if [[ -e $file ]]
    then
        echo "The $tarname file exists.begin to perform delete action"   >> /data/mysqlbackup/logs/$time'_incre.log'
        /bin/rm -rf /data/mysqlbackup/$archivename
    else
        echo "The file is not exists." >> /data/mysqlbackup/logs/$time'_incre.log'
    fi

date >> /data/mysqlbackup/logs/$time'_incre.log'

find /data/mysqlbackup/*tar.gz -ctime +1|xargs -I '{}'  mv  {}  /data/ftp

cd /data/ftp

function logftp (){
ftp -v -n xxx.xxx.xxx.xxx << EOF
user username password
binary
hash
cd ftp_mysql
prompt
put /data/mysqlbackup/*tar.gz
ls -la
bye
EOF
}

logftp >>/data/mysqlbackup/logs/to_ftp.log

cd /data/ftp

find /data/ftp/*tar.gz |xargs rm -rf

对于以上关于记录mysql 备份脚本,如果大家还有更多需要了解的可以持续关注我们的行业推新,如需获取专业解答,可在官网联系售前售后的,希望该文章可给大家带来一定的知识更新。

相关内容

热门资讯

德国马普学会主席:顶尖科学家功... 【文/观察者网 熊超然】香港《南华早报》5月17日报道指出,随着美国遭遇人才流失,地缘政治的迅速变化...
连续10年被拒还要硬蹭WHA?... 第七十九届世界卫生大会(WHA)将于5月18日至23日在瑞士日内瓦举行,不出所料,民进党当局再吃“闭...
新一轮药品集采拉开序幕,个别品... 作者:郭晋晖第十一批国家药品集中带量采购(下称“集采”)落地仅两个多月,随着信息预填报工作的启动,第...
执政不到两年,斯塔默遭“逼宫”... 2026年5月,英国政坛风暴再起。距离工党重返唐宁街不到两年,英国首相斯塔默迎来的不是执政稳定期,而...
出现20例死亡!重磅新药被启动... 当地时间 5 月 15 日,明星药 Tavneos® 在日本地区的独家许可方 Kissei ...
全国防灾减灾宣传周丨今年最大范... 中央气象台预报,5月15日至19日,我国中东部地区有一次大范围降雨过程,南北多地有中到大雨,部分地区...
油烟机灯不够亮是什么原因 油烟机是现代厨房中常见的家电,其主要功能是在烹饪时除去厨房内产生的油烟和异味,确保厨房空气的清新。油...
漏电开关一打雷就跳闸 原因可能是打雷的时候供电源附近的电流瞬间增大,导致电路跳闸,可以在打雷的时候关闭大功率电器解决;原因...
灯关了还有微亮是怎么回事 灯关了还有微亮可能是以下原因导致的:1. 开关控制了零线:火线直接进灯具,零线进开关,当开关断开时,...
灯线火线零线怎么分别 灯线火线零线的区分方法如下:1. 颜色区分:一般来说,火线(L)的颜色为红色或棕色,零线(N)的颜色...