首页 > 其他分享 >一些简单的备份恢复以及清理脚本

一些简单的备份恢复以及清理脚本

时间:2023-10-28 20:22:07浏览次数:36  
标签:脚本 rsync minio -- 备份 清理 now data

一些简单的备份恢复以及清理脚本


背景

想实现一些比较重要文件的备份工作.
想法是通过 minio 备份数据库.
通过rsync的方式备份类似于 maven这样的文件存储内容.

备份完成之后通过 find 方式清理磁盘避免磁盘爆掉. 

minio备份的方式方法

now=`date +%Y%m%d%H`
export AWS_ACCESS_KEY_ID=minioadmin
export AWS_SECRET_ACCESS_KEY=minioadmin
ssh [email protected]  "mkdir  -p /minio/data/tidb_dev_${now}"
time /root/.tiup/components/br/v6.5.3/br  backup full  -f '*.*'  -f '!information_schema.*'   -f '!emetrics_schema.*'    --pd "192.168.254.201:2379" --storage "s3://tidb_dev_${now}" --s3.endpoint "http://192.168.254.216:9000"  --send-credentials-to-tikv=true  --log-file backupfull.log

# 注意相关思路为:

设置minio的连接信息
登录到minio所在机器创建一个空目录
注意 创建空目录的同时会在 minio服务器里面创建一个bucket
然后使用br 的命令进行备份呢.

rsync的备份方式方法

now=`date +%Y%m%d`
time rsync -rpt  /data/nexus-data [email protected]:/data/nexus_${now}

方法也比较简单.  通过rsync 的方式将文件备份走. 

清理minio备份的思路

删除 三到五天前的文件

find /minio/data  -maxdepth 1 ! -path "/minio/data/.minio.sys" -mtime +5  -exec rm -rf {} \;

minio 需要避免删除一些系统文件. 

rsync的处理

有一个思路是 通过mv 文件明的方式
然后基于rsync 的方式进行文件差量备份 避免产品影响较大. 

old=`date -d -3days  +%Y%m%d`
echo $old
now=`date -d +1days  +%Y%m%d`
echo $now
mv /data/nexus_${old} /data/nexus_${now}

这样理论上可以避免大量的网络流量带宽的使用. 

标签:脚本,rsync,minio,--,备份,清理,now,data
From: https://www.cnblogs.com/jinanxiaolaohu/p/17792602.html

相关文章

  • 如何使用SHC对Shell脚本进行二进制编译和封装
    在许多情况下,我们需要保护我们的shell脚本源码不被别人轻易查看。这时,使用shc工具将shell脚本编译成二进制文件是一个有效的方法。本文将详细介绍如何在线和离线条件下安装shc,并将其用于编译你的脚本。什么是SHC?shc是一个由C语言编写的Shell脚本加密程序,它可以将你的脚本编译成......
  • 脚本
    importtimeimportdatetimefromplaywright.sync_apiimportsync_playwrightimportpytestfromselenium.commonimportNoSuchElementException,ElementNotInteractableExceptionfromselenium.webdriver.common.byimportByfromselenium.webdriver.support.wait......
  • shell 脚本一键部署 k8s 高可用集群
    github地址:https://github.com/Johnny-Demo/deploy/tree/k8s-cluster有不理解的地方可以私信我......
  • 使用vscode 用git 拉取代码,提示:在签出前,请清理存储库工作树
    使用vscode用git拉取代码,提示:在签出前,请清理存储库工作树如图:问题:git仓库上的代码和本地代码存在冲突了所以会报这个报错。解决办法:手动解决①gitstash先将本地修改存储起来②gitpull拉取远程③gitstashpop还原暂存内容放弃本地修改,直接覆盖①gitreset--hard②g......
  • 如何使用SHC对Shell脚本进行封装和源码隐藏
    在许多情况下,我们需要保护我们的shell脚本源码不被别人轻易查看。这时,使用shc工具将shell脚本编译成二进制文件是一个有效的方法。本文将详细介绍如何在线和离线条件下安装shc,并将其用于编译你的脚本。什么是SHC?shc是一个由C语言编写的Shell脚本加密程序,它可以将你的脚本编译成......
  • 新手教程系列:群晖 Synology Drive教程,如何实现文件同步与备份?
    SynologyDrive是群晖NAS的一款文件同步和共享工具,提供了非常完善的功能,您可以轻松地对文件进行分类、归档、共享等操作,也可以在多个设备之间同步文件、备份文件、共享文件,包括电脑、手机、平板等设备。总的来说,使用SynologyDrive的好处是可以方便快捷地在不同设备之间同步文件,保......
  • os: ubuntu23.10 -- 更新脚本(update)
    os:ubuntu23.10--更新脚本(update)    一、ubuntu23.10更新脚本1[wit@ubuntu:null]$cat~/user/tools/update2#!/usr/bin/envbash3456echo"----update----";7echo;8echo211224ln|sudo-Sdate"+%F%T";9echo21......
  • 实用小脚本——Windows系统使用dos命令删除文件
    @echooff&color0aset/pff=输入文件名:title查找%ff%echo.&set/p=正在查找<nulfor%%iin(cdefgh)do(ifexist%%i:\ (cd/d%%i:\set/p=%%i:<nulfor/f "delims="%%jin('dir/b/a-d/s"%ff%"2^>nul')do(echo.&......
  • calibredrv 做 LVL 脚本
    calibredrv做LVL的脚本脚本是一个makefile文件,执行的时候先执行makegen,再运行makediff。oasis文件target=/xxx/xxx.oasref=/xxx/xxx.oastarget_top=topCellNameref_top=topCellNamegen:dbdiff-systemOASIS-refdesign$(ref)$(ref_top)-desi......
  • 写一个cmd脚本,列出指定目录下的所有子目录和文件,限制层数
    在Windows的CMDshell中,tree命令并不直接支持指定层数。你可以编写CMD脚本达到相同目标。@echooffsetlocalset"root=%~1"set"maxdepth=%~2"set"curdepth=0"set"indent=":looppushd"%root%"for/d%%Din(*)do(echo%indent%......