您好,欢迎访问一九零五行业门户网

MySQL backup and cleanup bash scripts with mydumper_MySQL

bitscn.com
1. backup script
#!/bin/sh# fri jun 27 10:44:49 2014# done by dragkh# usage: # cat /etc/cron.d/backupmysql # 03*** root /root/bin/clean.backup.hyperion.mysql.mydumper.daily.sh >>/var/log/clean.backup.${hostname}.mysql.mydumper.daily.log 2>&1# 353*** root /root/bin/backup.hyperion.mysql.mydumper.daily.sh >> /var/log/backup.${hostname}.mysql.mydumper.daily.log 2>&1root_backup_dir=/home/mydumperseik_date () {if [ -z $1 ]then# cdate=`date +%y-%m-%d/ %h:%m:%s/ %z`; export cdate; echo $cdatecdate=`date -r`; export cdate; echo $cdateelseif [ -z ${2} ]thencdate=`date +%y-%m-%d.%h.%m.%s`; export cdate; echo $cdateelsecdate=`date +%y-%m-%d %h:%m:%s`; export cdate; echo $cdatefifi}function check_dir { test ! -d ${1} && mkdir -p ${1}}function set_cpu_threads { # set the threads one less than the existing threads=$(cat /proc/cpuinfo|grep processor | tail -1 | awk '{print $3}') test $threads -lt 1 && threads=1}function dump_schema { mysqldump -d --dump-date --all-databases > ${data_dir}/${hostname}.only.sql}function dump_data { echo $(seik_date f) : executing : mydumper -o $data_dir --long-query-guard 120 -r 100000 -c -e -m -l ${data_dir}/mysql-backup.log -t ${threads} -v 3 mydumper -o $data_dir --long-query-guard 120 -r 100000 -c -e -m -l ${data_dir}/mysql-backup.log -t ${threads} -v 3}data_dir=${root_backup_dir}/$(seik_date d)check_dir ${data_dir} && echo $(seik_date f) : ${data_dir} is missing, creating it now ..set_cpu_threadsecho $(seik_date f) : star dumping the schema at ${data_dir}..dump_schema && echo $(seik_date f) : end dumping the schema at ${data_dir} ..echo $(seik_date f) : start dumping the data at ${data_dir} via ${threads} parallel threads ..dump_data && echo $(seik_date f) : end dumping the data at ${data_dir} via ${threads} parallel threads ..
2. clean up script keeping always backup directories intact
#!/bin/bash# sat jun 28 03:16:38 eest 2014# done by dragkh# usage: # cat /etc/cron.d/backupmysql# 0 3 * * * root/root/bin/clean.backup.hyperion.mysql.mydumper.daily.sh >> /var/log/clean.backup.${hostname}.mysql.mydumper.daily.log 2>&1# 353* * * root/root/bin/backup.hyperion.mysql.mydumper.daily.sh >> /var/log/backup.${hostname}.mysql.mydumper.daily.log 2>&1root_backup_dir=/home/mydumperseik_date () {if [ -z $1 ]thencdate=`date -r`; export cdate; echo $cdateelseif [ -z ${2} ]thencdate=`date +%y-%m-%d.%h.%m.%s`; export cdate; echo $cdateelsecdate=`date +%y-%m-%d %h:%m:%s`; export cdate; echo $cdatefifi}day_limit=7;ls -t ${root_backup_dir} | /while read dirdo ((dir_num++))test $dir_num -gt $day_limit && test -d ${root_backup_dir}/${dir} &&rm -rf ${dir} && echo $(seik_date d) : removed [${dir_num}]::[${dir}] && continue test -d ${root_backup_dir}/${dir} && echo $(seik_date d) : skipping [${dir_num}]::[${dir}]done
bitscn.com
其它类似信息

推荐信息