| #!/bin/bash |
| |
| |
| |
| |
| |
| |
| |
| log_msg() |
| { |
| time=`date +%Y-%m-%d' '%H:%M:%S.%N | cut -b 1-23` |
| echo "$time [LOG] $1$2" |
| } |
| err_msg() |
| { |
| time=`date +%Y-%m-%d' '%H:%M:%S.%N | cut -b 1-23` |
| echo -e "\033[41;33m$time [ERROR] $1$2 \033[0m" |
| } |
| log_chk() |
| { |
| echo "日志检查输出..." |
| more ${log_file} | fgrep "ERROR" > ${err_file} |
| [ -s ${err_file} ] && more ${err_file} || echo "日志无报错,备份结束" |
| } |
| |
| date=$(date +%Y%m%d) |
| log_time=$(date +%H:%M:%S) |
| backup_floder=/home/aboss/backup/${date} |
| file_time=$(date +%Y%m%d%H%M%S) |
| |
| log_file=/home/aboss/backup/${date}/backup.log |
| err_file=/home/aboss/backup/${date}/backup.err |
| |
| [ ! -d ${backup_floder} ] && mkdir -p ${backup_floder} |
| |
| [ ! -e ${log_file} ] && touch ${log_file} |
| |
| mysql_chk=`ps x | grep 3306 | grep -v 'grep' | wc -l` |
| log_msg "excuting...." |
| if [ "${mysql_chk}" == 1 ]; then |
| log_msg "check mysql is running" >> ${log_file} |
| |
| log_msg " begin mysqldump" >> ${log_file} |
| cd /home/aboss/mysql/bin |
| |
| ./mysqldump -uroot -pPASSWORD -h127.0.0.1 -P3306 --all-databases --flush-privileges --single-transaction --master-data=2 --flush-logs --triggers --routines --events --default-character-set=gbk --hex-blob > all_A_${file_time}.sql |
| [ "$?" == 0 ] && log_msg "mysqldump is done " >> ${log_file} || err_msg "mysqldump is wrong " >> ${log_file} |
| [ "$?" == 0 ] && log_msg "mysqldump is done " || err_msg "mysqldump is wrong " |
| |
| log_msg "begin tar" >> ${log_file} |
| tar zcvf all_A_${file_time}.sql.tgz all_A_${file_time}.sql >> ${log_file} 2>&1 |
| log_msg "over tar" >> ${log_file} |
| mv all_A_${file_time}.sql.tgz ${backup_floder} 2>>${log_file} |
| rm all_A_${file_time}.sql 2>>${log_file} |
| else |
| err_msg "check mysql is not running" >> ${log_file} |
| log_chk |
| fi |
| |
| |
| cd /home/aboss/aboss5 |
| log_msg "excuting aboss5 backup..." |
| log_msg "begin tar aboss5" >> ${log_file} |
| tar zcvf aboss5_${file_time}.tgz --exclude=bin/*simexchange* --exclude=bin/core.* bin svc cfg trancom >> ${log_file} 2>&1 |
| log_msg "over tar aboss5" >> ${log_file} |
| log_msg "begin move aboss5" >> ${log_file} |
| mv aboss5_${file_time}.tgz ${backup_floder} 2>>${log_file} |
| log_msg "over move aboss5" >> ${log_file} |
| log_msg "over" |
| |
| log_chk |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端