shell常用备份脚本
来源:原创
时间:2021-09-27
作者:脚本小站
分类:SHELL
备份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