分库分层备份   初步探究

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分库分层备份   初步探究相关的知识,希望对你有一定的参考价值。

   看了26期王导的关于mysql分库分层备份的视频以后,对于脚本的编制产生了兴趣,但是苦于不知道mysql,对于其中的一些命令 和一些数据的获取比较无力。但是又手痒 用了3个小时的宝贵学习时间 编了一个小脚本。

脚本要求:现在在/tmp下有一个dir的文件,里面存放了7个目录的名字,每个名字一行。还有7个形如dirx_file的文件,里面存放了该目录下应该有的文件。现在的要求是将文件和目录都建立出来。并且按目录的集合压缩到tmp下。

脚本:

[[email protected] ~]# vim test.sh 


DIRSOURCE=/tmp/dir

for n in $(cat $DIRSOURCE)

do

     [ -d /test/$n ]  ||  mkdir /test/$n

FILESOURCE=/tmp/${n}_file

for m in $(cat $FILESOURCE)

do

   touch /test/$n/$m

done

cd /test;tar zcf /tmp/test${n}_$(date +%F).tar.gz $n

done

过程总结:在最开始的时候 环境变量DIRSOURCE定义的是cat /tmp/dir。

出现如下提示test.sh: line 1: /tmp/dir: Permission denied。

初时以为是权限不足,使用chmod命令给test.sh加上了x权限。后来还是出现这种问题。

仔细回想了一下王导视频中关于这部分的信息,想起了他后面引用前面的变量好像是作为一个路径。

这部分内容因为对环境变量了解不足,所以就试验了下去掉命令,发现脚本可以运行。姑且先这么记,等以后老师详细讲解环境变量的时候再弄。

目前对环境变量的知识只知道在profile最后添加语句export可以设置环境变量。

然后继续运行,发现报错 test.sh: line 14: syntax error: unexpected end of file。

自习检查发现最后done没有加,之前学过的C语言印象中是一个do就要配一个done,这个问题主要是编程习惯的问题,以后需要注意一下。

错误修正 继续运行  提示command ‘-d‘不识别。

对照视频检查了一下 发现没有问题,猜想可能是中括号内的东西要和中括号之间留有空格。加上空格以后,程序正常运转。


总结:经过这个脚本 对环境变量有了一些模糊的理解,而且对for语句的理解也更加深刻。

后续:过几天以后,将脚本设置成定时任务,并且在TMP下建立对应的目录。是寻找的时候更加方便。


以上是关于分库分层备份   初步探究的主要内容,如果未能解决你的问题,请参考以下文章

JVM初步了解

boost bind初步探究

cent7中kickstart初步探究

网络流初步

Geatpy遗传算法在曲线寻优上的初步探究

[云原生专题-1]:总体-云原生初步探究,什么是云原生,云原生的基本特性