分库分层备份   初步探究

看了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下建立对应的目录。是寻找的时候更加方便。

时间: 2024-12-13 01:28:00

分库分层备份   初步探究的相关文章

iOS中的预编译指令的初步探究

看到非常好的两篇技术文,转来方便自己查看. 转自:http://www.cnblogs.com/daiweilai/p/4234336.html 开篇 我们人类创造东西的时候有个词叫做”仿生学“!人类创造什么东西都会模仿自己来创造,所以上帝没有长成树的样子而和人长得一样,科幻片里面外星人也像人一样有眼睛有鼻子……但是人类自己创造的东西如果太像自己,自己又会吓尿(恐怖谷效应),人类真是奇葩:奇葩的我们在20世纪创造了改变世界的东西——计算机(电脑),不用怀疑,这货当然也是仿生学!这货哪里长得像人了

关于.so动态链接库初步探究

make -f 文件名 伪目标,执行makefile文件. .so文件是linux中的动态链接库文件. 用 ldd 查询文件依赖的.so动态链接库文件. ldconfig 命令系统添加确认 .so 动态链接库文件,ldconfig -v 查询系统已经包含的动态链接库文件. 用 ldconfig /目标路径 方式添加新的 .so 动态链接库文件. 对于Fedora,添加 .so  过后,可能会出现权限问题,需要关闭SELinux. getenforce 获取SELinux 运行状态,setenfo

js面向对象初步探究(上) js面向对象的5种写方法

很长一段时间看网上大神的JS代码特别吃力,那种面向对象的写法方式让人看得云里来雾里去.于是就研究了一下JS面向对象,由于是初学,就将自己在网上找到的资料整理一下,作为记忆. js面向对象的5种写方法:(来自http://www.iteye.com/topic/434462) 首先 定义circle类,拥有成员变量r,常量PI和计算面积的成员函数area(): //第1种写法 function Circle(r) { this.r = r; } Circle.PI = 3.14159; Circl

对排序算法的初步探究

初学排序算法,我觉得只需要掌握算法的精髓,没必要把所有算法都实现一遍,下面我会实现一些经典的排序算法.(均采用C++实现) 学习的排序算法包含: 1>插入排序(直接插入排序.希尔排序) 2>选择排序(简单选择排序.堆排序) 3>交换排序(快速排序.冒泡排序) 4>归并排序 5>基数排序 我认为初学者掌握基本的排序算法的思想即可,其他排序算法基于特定的数据结构和存储结构,遇到具体的实例再学习即可. 下面就开始学习了. 插入排序 插入排序:把一个数插入到一个有序的序列中,并要求插

cent7中kickstart初步探究

一.基本环境 操作系统:CentOS7.4 内核版本:3.10.0-862.11.6.el7.x86_64 二.组件部署 yum安装tftp tftpd-server xinetd http dhcp. 1 yum -y install tftp tftpd-server xinetd http dhcp 安装完成后进行简单必要的配置: 1. tftp守护进程xinetd配置 1 vim /etc/xinetd.d/tftp 2 service tftp { 3 ... 4 disable =

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

园子里关于遗传算法的教案不少,但基于geatpy框架的并未多见,故分享此文以作参考,还望广大园友多多指教! Geatpy出自三所名校联合团队之手,是遗传算法领域的权威框架(python),其效率之高.应用领域之广远胜诸多第三方工具,此处不作赘述,直接上链接: 官网:http://www.geatpy.com/start 源码:https://github.com/geatpy-dev/geatpy/tree/master/geatpy 使用Geatpy需要安装geatpy模块(pip insta

数据库mysql 分库备份脚本

数据库mysql 分库备份脚本 在企业工作中,我们经常会遇到数据库备份问题,当然我之前不止提到过mysql 主从,现在我们 先来看看单库如何来实现分库定期进行备份的,先看一下以下脚本: vi mysql_backup.sh #!/bin/sh #backup tiandao bbs edoing #coding tonye.li MYUSER=root MYPASS=meidi SOCKET=/data/3306/mysql.sock MYCMD="mysql -u$MYUSER -p$MYPA

mysql 分库备份

 mysql 分库备份 前两篇文章已经都写到了mysql分库进行备份,可是还有网友给我留言说如何进行分库自动查询数据库来进行备份呢,这让我很郁闷,这么简单的东西,应该可以一举三反的吧!看看吧 vi mysql_backup.sh #!/bin/sh #backup tiandao bbs edoing #coding tonye.li MYUSER=root MYPASS=meidi SOCKET=/data/3306/mysql.sock MYCMD="mysql -u$MYUSER -p$M

MySQL的备份的一些策略和方法的总结

1.一般使用的是mysqldump来进行备份,每次dump的数据是1000条,并且在这个过程中会进行锁表. (这种方式是逻辑备份,即直接将数据库中的数据导成sql语句进行备份的过程) 主要的使用方法: (1).不带参数的进行备份: 1 备份test数据库中的所有表数据和表结构 2 mysqldump -uroot -ppassword test >/tmp/test.sql 3 4 备份test数据库中的某个表数据和表结构 5 mysqldump -uroot -ppassword test s