一些简单的备份恢复以及清理脚本
背景
想实现一些比较重要文件的备份工作.
想法是通过 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