💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、豆包、星火、月之暗面及文生图、文生视频 广告
### **增量备份** binlogbak.sh ``` #!/bin/bash export LANG=en_US.UTF-8 BIN_DIR="/usr/bin" BakDir=/dbbackup/mysql/daily BinDir=/var/log/bs/mysql/logbin LogFile=/dbbackup/mysql/daily/binlog.log BinFile=/var/log/bs/mysql/logbin/logbin.index echo `date +"%Y%m%d %H:%M:%S"` add backup start ! >> $LogFile $BIN_DIR/mysqladmin -uroot -pds@Admin123 flush-logs echo "flush-logs binlog file such" >> $LogFile #这个是用于产生新的mysql-bin.00000*文件 Counter=`wc -l $BinFile |awk '{print $1}'` NextNum=0 #这个for循环用于比对$Counter,$NextNum这两个值来确定文件是不是存在或最新的。 for file in `cat $BinFile` do base=`basename $file` NextNum=`expr $NextNum + 1` if [ $NextNum -eq $Counter ] then echo $base current flush-logs file no backup >> $LogFile else dest=$BakDir/$base if ( test -e $dest ) then echo $base have backup >> $LogFile else cp $BinDir/$base $BakDir echo $base backup.. >> $LogFile fi fi done echo `date +"%Y%m%d %H:%M:%S"` add file backup succ ! >> $LogFile echo `` >> $LogFile echo `` >> $LogFile ``` ### 全量备份 healthbak.sh ``` #!/bin/bash export LANG=en_US.UTF-8 source /usr/local/sh/binlogbak.sh BIN_DIR="/usr/bin" BakDir=/dbbackup/mysql/health AddBakDir=/dbbackup/mysql/daily LogFile=/dbbackup/mysql/health/health_bak.log Date=`date +%Y%m%d_%H%M%S` Begin=`date +"%Y%m%d %H:%M:%S"` DB_NAME="health" DB_USER="root" DB_PASS="ds@Admin123" cd $BakDir DumpFile="/dbbackup/mysql/health/data_"$Date.sql GZDumpFile="/dbbackup/mysql/health/data_"$Date.sql.tgz $BIN_DIR/mysqldump -u$DB_USER -p$DB_PASS $DB_NAME --flush-logs --delete-master-logs --single-transaction > $DumpFile tar -czPf $GZDumpFile $DumpFile rm $DumpFile count=$(ls -l *.tgz |wc -l) if [ $count -ge 5 ] then file=$(ls -l *.tgz |awk '{print $9}'|awk 'NR==1') rm -f $file fi #save history number 4 Last=`date +"%Y%m%d %H:%M:%S"` echo start:$Begin end:$Last $GZDumpFile full backup succ >> $LogFile mkdir daily_$Date cp -rf $AddBakDir $BakDir/daily_$Date echo `date +%Y%m%d_%H%M%S` copy previous add backup >> $LogFile cd $AddBakDir rm -f * echo `date +%Y%m%d_%H%M%S` delete previous add backup >> $LogFile cd $BakDir nums=$(find -name daily_\* -type d|wc -l) if [ $nums -ge 5 ] then file1=$(find -name daily_\* -type d|sort|awk '{print $1}'|awk 'NR==1') file2=`basename $file1` rm -rf $file2 fi echo `date +%Y%m%d_%H%M%S` save 4 quartic add backup >> $LogFile echo `` >> $LogFile echo `` >> $LogFile ```