当前位置: 首页 > news >正文

网站建设方案格式网站怎么建设后台

网站建设方案格式,网站怎么建设后台,营销运营推广服务,推广 高端网站建设1.对表的备份 1#xff09;全量备份 首先对表进行全量备份#xff0c;对表定期全量 七天执行一次全量备份#xff0c;备份完删除上一次全量备份SQL文件 创建计划任务crontab定时执行脚本进行备份 #!/bin/bash # 文件名: full_backup.sh # 优化说明#xff1a;标准化 bin…1.对表的备份 1全量备份 首先对表进行全量备份对表定期全量 七天执行一次全量备份备份完删除上一次全量备份SQL文件 创建计划任务crontab定时执行脚本进行备份 #!/bin/bash # 文件名: full_backup.sh # 优化说明标准化 binlog 记录格式增强错误处理# 配置区 DB_USERroot DB_PASSWORD1q!1q! SOCKET_PATH/usr/local/mysql/mysql.sock BACKUP_DIR/home/mysql/backups # 改为您实际使用的目录 DATABASEcheck_v1 TABLES(production_data) # 根据您的实际需要调整# 确保备份目录存在 mkdir -p $BACKUP_DIR# 执行全量备份 TIMESTAMP$(date %Y年 %m月 %d日 %A %H:%M:%S CST) BACKUP_FILE$BACKUP_DIR/full_backup_${DATABASE}_$(date %Y%m%d-%H%M%S).sqlecho [$TIMESTAMP] 开始全量备份数据库: $DATABASE mysqldump -u$DB_USER -p$DB_PASSWORD -S $SOCKET_PATH \--single-transaction --master-data2 --triggers --routines --events \--hex-blob $DATABASE ${TABLES[]} $BACKUP_FILEif [ $? -eq 0 ]; thenecho [$TIMESTAMP] 全量备份成功文件: $BACKUP_FILE# 标准化 binlog 记录格式关键修改MASTER_STATUS_FILE$BACKUP_DIR/last_binlog_pos.txtmysql -u$DB_USER -p$DB_PASSWORD -S $SOCKET_PATH -N -e \SHOW MASTER STATUS | awk {print File:,$1,\nPosition:,$2} $MASTER_STATUS_FILEecho [$TIMESTAMP] 记录 binlog 位置:cat $MASTER_STATUS_FILE elseecho [$TIMESTAMP] 备份失败rm -f $BACKUP_FILEexit 1 fi2增量备份 对表进行增量备份每天将表中新增的内容增量备份 每天凌晨对表进行增量备份每天的增量会形成一个文件超过七天的文件sql将进行删除因为七天进行一次全量超过七天的文件已然不需要保留 这样达到的效果就是不需要每天都要进行大量的数据备份每天只要备份增加的数据 创建计划任务每天凌晨备份一次表中的增加数据 #!/bin/bash # 文件名: incremental_backup.sh # 优化说明改进 binlog 解析逻辑支持 GTID 和多语句过滤# 配置区 DB_USERroot DB_PASSWORD1q!1q! SOCKET_PATH/usr/local/mysql/mysql.sock BACKUP_DIR/home/mysql/backups DATABASEcheck_v1 TABLEproduction_data BINLOG_DIR/usr/local/mysql/data MYSQL_PATH/usr/local/mysql/bin # 根据实际路径调整# 获取上次备份的 binlog 位置 LAST_STATUS_FILE$BACKUP_DIR/last_binlog_pos.txtif [ ! -f $LAST_STATUS_FILE ]; thenecho [$(date %Y年 %m月 %d日 %A %H:%M:%S CST)] 错误找不到 binlog 记录文件exit 1 fi# 更安全的变量获取方式 LAST_LOG$(grep File: $LAST_STATUS_FILE | awk {print $2}) LAST_POS$(grep Position: $LAST_STATUS_FILE | awk {print $2})if [ -z $LAST_LOG ] || [ -z $LAST_POS ]; thenecho [$(date)] 错误无法解析 binlog 位置exit 1 fiTIMESTAMP$(date %Y年 %m月 %d日 %A %H:%M:%S CST) BACKUP_FILE$BACKUP_DIR/incremental_${DATABASE}.${TABLE}_$(date %Y%m%d-%H%M%S).sqlecho [$TIMESTAMP] 开始增量备份表: $DATABASE.$TABLE从 binlog: $LAST_LOG, 位置: $LAST_POS# 关键改进使用 mysqlbinlog 专业过滤 $MYSQL_PATH/mysqlbinlog \--start-position$LAST_POS \--database$DATABASE \$BINLOG_DIR/$LAST_LOG | \awk /^# at .*/{print}\/^INSERT INTO $TABLE/{print}\/^UPDATE $TABLE/{print}\/^DELETE FROM $TABLE/{print} \ $BACKUP_FILEif [ $? -eq 0 ] [ -s $BACKUP_FILE ]; thenecho [$TIMESTAMP] 增量备份成功文件: $BACKUP_FILE# 更新 binlog 位置保持格式一致mysql -u$DB_USER -p$DB_PASSWORD -S $SOCKET_PATH -N -e \SHOW MASTER STATUS | awk {print File:,$1,\nPosition:,$2} $LAST_STATUS_FILEecho [$TIMESTAMP] 更新 binlog 位置:cat $LAST_STATUS_FILE elseecho [$TIMESTAMP] 增量备份失败或未发现新变更[ -f $BACKUP_FILE ] rm -f $BACKUP_FILEexit 1 fi2.对整库备份除系统库之外 1全量备份 #!/bin/bash # 文件名: full_backup.sh # 优化说明标准化整库备份流程增强错误处理# 配置区 DB_USERroot DB_PASSWORD1q!1q! SOCKET_PATH/home/ing-sys/mysql/mysql.sock BACKUP_DIR/home/path/to/backup # 改为您实际使用的目录 DATABASES(check_v1 other_db) # 需要备份的数据库列表 IGNORED_DATABASES(mysql performance_schema information_schema sys)# 初始化检查 TIMESTAMP$(date %Y年 %m月 %d日 %A %H:%M:%S CST) mkdir -p $BACKUP_DIR LOG_FILE$BACKUP_DIR/backup.loglog() {echo [$(date %Y-%m-%d %H:%M:%S)] $1 $LOG_FILE }log 开始全量备份 # 获取需要备份的数据库 if [ ${#DATABASES[]} -eq 0 ]; then# 如果未指定数据库则自动获取所有非系统库DATABASES$(mysql -u$DB_USER -p$DB_PASSWORD -S $SOCKET_PATH -N -e SHOW DATABASES; | grep -Ev ^($(IFS\|; echo ${IGNORED_DATABASES[*]}|Database))$) filog 将备份数据库: ${DATABASES[*]}# 执行全量备份 BACKUP_FILE$BACKUP_DIR/full_$(date %Y%m%d-%H%M%S).sql mysqldump -u$DB_USER -p$DB_PASSWORD -S $SOCKET_PATH \--databases ${DATABASES[]} \--single-transaction --master-data2 --triggers --routines --events \--hex-blob $BACKUP_FILEif [ $? -eq 0 ]; thenlog 全量备份成功: $BACKUP_FILE# 标准化 binlog 记录格式MASTER_STATUS_FILE$BACKUP_DIR/last_binlog_pos.txtmysql -u$DB_USER -p$DB_PASSWORD -S $SOCKET_PATH -N -e \SHOW MASTER STATUS | awk {print File:,$1,\nPosition:,$2} $MASTER_STATUS_FILElog 记录 binlog 位置:cat $MASTER_STATUS_FILE $LOG_FILE# 清理旧备份保留7天find $BACKUP_DIR -name full_*.sql -mtime 7 -deletelog 已清理超过7天的旧备份 elselog 全量备份失败exit 1 fi2增量备份 #!/bin/bash # 文件名: incremental_backup.sh # 优化说明改进整库binlog备份逻辑# 配置区 DB_USERroot DB_PASSWORD1q!1q! SOCKET_PATH/home/ing-sys/mysql/mysql.sock BACKUP_DIR/home/path/to/backup BINLOG_DIR/home/ing-sys/mysql/data# 初始化检查 TIMESTAMP$(date %Y年 %m月 %d日 %A %H:%M:%S CST) LOG_FILE$BACKUP_DIR/backup.loglog() {echo [$(date %Y-%m-%d %H:%M:%S)] $1 $LOG_FILE }log 开始增量备份 # 获取上次备份的 binlog 位置 LAST_STATUS_FILE$BACKUP_DIR/last_binlog_pos.txtif [ ! -f $LAST_STATUS_FILE ]; thenlog 错误找不到 binlog 记录文件请先执行全量备份exit 1 fiLAST_LOG$(grep File: $LAST_STATUS_FILE | awk {print $2}) LAST_POS$(grep Position: $LAST_STATUS_FILE | awk {print $2})if [ -z $LAST_LOG ] || [ -z $LAST_POS ]; thenlog 错误无法解析 binlog 位置exit 1 filog 从 binlog: $LAST_LOG, 位置: $LAST_POS 开始增量备份# 执行增量备份 BACKUP_FILE$BACKUP_DIR/incremental_$(date %Y%m%d-%H%M%S).sqlmysqlbinlog --read-from-remote-server \-u$DB_USER -p$DB_PASSWORD \--start-position$LAST_POS \--hostlocalhost \$BINLOG_DIR/$LAST_LOG $BACKUP_FILEif [ $? -eq 0 ] [ -s $BACKUP_FILE ]; thenlog 增量备份成功: $BACKUP_FILE# 更新 binlog 位置mysql -u$DB_USER -p$DB_PASSWORD -S $SOCKET_PATH -N -e \SHOW MASTER STATUS | awk {print File:,$1,\nPosition:,$2} $LAST_STATUS_FILElog 更新 binlog 位置:cat $LAST_STATUS_FILE $LOG_FILE elselog 增量备份失败或未发现新变更[ -f $BACKUP_FILE ] rm -f $BACKUP_FILEexit 1 fi3.定时计划任务crontab 每周日凌晨 3 点全量备份 0 3 * * 0 /bin/bash /path/to/full_backup.sh 每天凌晨 2 点增量备份 0 2 * * * /bin/bash /path/to/incremental_backup.sh 4.恢复流程 全量恢复 ./mysql -u root -p full_20250612030000.sql 增量恢复 ./mysqlbinlog incremental_20250612020000.sql | ./mysql -u root -p 5.定时删除超过七天的备份文件 #!/bin/bash # 文件名: clean_backup.sh # 功能清理/home/mysql/backups目录下超过7天的SQL备份文件# 配置区 BACKUP_DIR/home/mysql/backups # 备份目录 LOG_FILE$BACKUP_DIR/clean_backup.log # 日志文件 KEEP_DAYS7 # 文件保留天数(您要求的7天)# 初始化 TIMESTAMP$(date %Y-%m-%d %H:%M:%S) mkdir -p $BACKUP_DIRecho $TIMESTAMP 清理开始 | tee -a $LOG_FILE echo 备份目录: $BACKUP_DIR | tee -a $LOG_FILE echo 清理策略: 超过 $KEEP_DAYS 天的所有SQL备份 | tee -a $LOG_FILE# 统一清理所有SQL备份(全量增量) OLD_SQL_FILES$(find $BACKUP_DIR -type f \( -name full_backup_check_v1_*.sql -o -name incremental_check_v1.production_data_*.sql \) -mtime $KEEP_DAYS)if [ -n $OLD_SQL_FILES ]; thenecho 发现以下过期备份文件: | tee -a $LOG_FILEecho $OLD_SQL_FILES | tee -a $LOG_FILE# 安全删除(先打印确认)echo $OLD_SQL_FILES | xargs -I {} echo 即将删除: {} | tee -a $LOG_FILEecho $OLD_SQL_FILES | xargs rm -fDELETED_COUNT$(echo $OLD_SQL_FILES | wc -l)echo 已清理 $DELETED_COUNT 个SQL备份文件 | tee -a $LOG_FILE elseecho 未发现需要清理的SQL备份文件 | tee -a $LOG_FILE fi# 清理过期状态文件 OLD_STATUS_FILES$(find $BACKUP_DIR -name last_binlog_pos.txt -mtime $KEEP_DAYS) if [ -n $OLD_STATUS_FILES ]; thenecho 清理过期状态文件: | tee -a $LOG_FILEecho $OLD_STATUS_FILES | xargs rm -f fi# 最终统计 REMAIN_FULL$(find $BACKUP_DIR -name full_backup_check_v1_*.sql | wc -l) REMAIN_INC$(find $BACKUP_DIR -name incremental_check_v1.production_data_*.sql | wc -l)echo 清理完成当前保留: | tee -a $LOG_FILE echo 全量备份: $REMAIN_FULL 个 | tee -a $LOG_FILE echo 增量备份: $REMAIN_INC 个 | tee -a $LOG_FILE echo 磁盘使用情况: | tee -a $LOG_FILE du -sh $BACKUP_DIR | tee -a $LOG_FILE echo 清理结束 | tee -a $LOG_FILE
http://www.hkea.cn/news/14344911/

相关文章:

  • 做网站要服务器和什么怎么找精准客户资源
  • 医疗网站建设好么wordpress 取消置顶
  • 建设厅企业锁在哪个网站登录工程建设信息网站资质公告
  • 特价网站建设价格低安徽六安什么时候解封
  • 深圳网站建设比较精品网站欣赏
  • 漂亮产品网站本地网站搭建
  • 为网站做一则广告语做网站需要什么营业执照
  • 做网站怎样用链接赚钱iis6添加网站
  • 北京网站制做的公司广西壮族自治区博物馆
  • 深圳建设资格注册中心网站wordpress自动博客
  • 昆明市住房和城乡建设局网站网站开发后台一般用什么
  • 旅行社网站规划与建设的流程图专业培训大全
  • 永川网站制作wordpress 多站点开启
  • 建网站建设网站建筑设计机构
  • 广西建设网站官网网站建设发展史
  • 公司网站介绍范文软件工程师招聘简章pdf
  • 网站设计师与网站开发工程师全屏背景网站如何做到自适应
  • 外贸网站建设公司价位wordpress虚线框可序列
  • 西宁房地产网站建设重庆市工程建设信息网2021
  • 建设商务网站需要哪些步骤网站台做计么呢
  • 网站备案 需要上传网站么中国建设银行招聘官方网站
  • 邯郸公司做网站东营企业自助建站
  • 安装百度优化大师使用心得
  • 一般网站的后台海外制作网站
  • 合肥市网站建设 小程序wordpress动漫主题曲
  • dede网站地图地睛方法数码做的网站怎么样
  • 网站建设套餐电商网站建设的目的
  • 怎么把自己做的网站传网上云南做网站的公司有哪些
  • 网站app建设图片外贸建站wordpress主题
  • 信息化和网站建设管理工作情况网站建设珠海