#!/bin/sh
NAMESPACE='test'
ROUTE_DIR=`df |sort -k 2 -rn|grep -v 1K-blocks|grep /dev/| head -n 1 | awk '{print $6}'`
MYSQL_PO=`kubectl get po -n $NAMESPACE | grep mysql | awk '{print $1}'`
echo $ROUTE_DIR
mkdir -p $ROUTE_DIR/backup/mysql_bak_list
TAR_DIR=$ROUTE_DIR/backup/mysql_bak_list # 备份存放路径
DATE=`date +%Y_%m_%d` # 获取当前系统时间
DB_USER=root # 数据库账号
DB_PASS=root # 数据库密码
DAYS=8 # DAYS=30代表删除30天前的备份,即只保留最近30天的备份
if [ ! -d "$TAR_DIR/$DATE" ]; then
mkdir -p $TAR_DIR/$DATE
fi
cd $TAR_DIR
kubectl exec $MYSQL_PO -n $NAMESPACE -it -- mysqldump -u$DB_USER -p$DB_PASS --all-databases >$TAR_DIR/$DATE/mysqlback.sql;
find $TAR_DIR/ -mtime +$DAYS -delete # 删除天前的备份文件
k8s-mysql备份1、进入容器 找到容器: kubectl get pod -n my-namespace | grep mysql 进入容器: eg: kubectl exec -it my...