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
- shell编程,处理用户输入,选项和参数的处理getopts,shift,常见的linux命令选项
- shell编程,重定向错误信息和正常输出的数据,输出输入文件描述符
- shell编程,桌面环境中的脚本,select命令,dialog包的使用,kdialog、gdialog、zenity
- tomcat 自启动脚本
- shell账号密码登陆
- shell编程,while循环,until循环命令
- shell编程,跳出循环break n,continue n
- shell编程,在脚本中使用函数,局部变量,传参,返回值,递归,引入库source,shtool函数库安装使用
- shell编程,命令替换$(),<输入重定向,<<内联输入重定向,>输出重定向,>>追加输出重定
- 批量安装node_exporter脚本