备份k8s镜像的脚本:

批量获取镜像:

kubectl get deployments.apps  -o custom-columns=CONTAINER:.spec.template.spec.containers[0].name,IMAGE:.spec.template.spec.containers[0].image

单个获取镜像:

kubectl get deployments.apps <deployment-name> -o custom-columns=CONTAINER:.spec.template.spec.containers[0].name,IMAGE:.spec.template.spec.containers[0].image
CONTAINER      IMAGE
admin   192.168.199.240/test-registry/admin:test-release-init-09071121

备份deployment的脚本:

#!/bin/bash

/usr/local/bin/kubectl config use-context k8s-prd
/usr/local/bin/kubectl get deployment -o yaml > /home/bin/prd/deployments-default-`date "+%Y-%m-%d-%T"`.yaml
/usr/local/bin/kubectl get deployment -o yaml > /home/bin/prd/svc-default-`date "+%Y-%m-%d-%T"`.yaml


备份confluence应用文件脚本:

#!/bin/bash

export TODAY=`date +%Y-%m-%d`
export YESTERDAY=`date "+%Y-%m-%d" -d  '1 day ago'`
export BASEDIR=/root/confluence/files
export DEST=${BASEDIR}/confluence-$TODAY
export LINKDEST=${BASEDIR}/confluence-$YESTERDAY
if [ ! -d $LINKDEST ]; then
    mkdir $LINKDEST
fi

rsync -av --delete --exclude="backups/*" --link-dest $LINKDEST 192.168.0.67:/var/atlassian/application-data/confluence $DEST > ${BASEDIR}/${TODAY}.log

备份confluence数据库脚本:

#!/bin/bash

/usr/bin/mysqldump -h192.168.0.67 -P3308 -uconfluence -pconfluence confluence | gzip > /root/confluence/databases/confluence-`date "+%Y-%m-%d-%T"`.sql.gz


备份deployment和service脚本:将deployment和service搞到一个文件,一个控制器一个文件。

#!/bin/bash

export kubectl=/usr/local/bin/kubectl
export DATE=`date "+%Y-%m-%d-%H-%M-%S"`
export NAMESPACE=default
export BACKUP_DIR=backups-${DATE}-${NAMESPACE}


kubectl config use-context dev
mkdir $BACKUP_DIR

for var in `kubectl get deployments.apps -n $NAMESPACE | grep -v NAME | awk '{print $1}'`
do
    filename=$BACKUP_DIR/deployments-svc-${NAMESPACE}-${var}-${DATE}.yaml

    kubectl get deployments.apps -n $NAMESPACE $var -o yaml > $filename
    echo "---" >> $filename
    kubectl get svc -n $NAMESPACE $var -o yaml >> $filename
done