玩玩数组,会让你的管理更加简单,合理的安排备置,比如文件夹路径等!反正我是这样的,尽量让自己的服务器有一种规律,这样可以用一个简短的脚本完成憨重繁琐的工作。我保证你用过后会喜欢上它,这种要比你以文件或其他方式存储临时数据更方便!修改配置也方便,一目了然,还等什么换吧~
数组:数组是在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来的一种形式。这些按序排列的同类数据元素的集合称为数组。在C语言中, 数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。
类型说明符 数组名[常量表达式1][常量表达式2]…;
下面是我Vps里面的一个脚本,是备份博客数据的脚本。备份好后分别发送到域名对应邮箱
root@server cron]# cat mysql_all.sh
#!/bin/bash
##让时间固定,防止出错
## //kinggoo.com
DATATIME=`date +%Y%m%d%H%M`
SQLNAME=mysql最大权限用户帐号
SQLPASS=mysql最大权限密码
BACKUP=/你要备份数据到数据存储路径/
DOMAIN_BLOG=/博客网站目录(我是用域名做为文件夹,因为这样可以一个变量用两次)/
MYSQLPATH=/我是源码编译mysql,所以要制定一下mysql/bin目录路径
#定义数组
declare -a ARR_LIST MAIL_LIST DOMAIN
i=0
ARR_LIST为单数据库数组、MAIL_LIST为邮件数组、DOMAIN为域名数组
ARR_LIST=( db1 db2 db3 db4 )
MAIL_LIST=( "db1@mail.com" "db2@mail.com" "db3@mail.com" "db4@mail.com" )
DOMAIN=( iteye.me imis.me kinggoo.com miraclei.net )
#判断数组,确定执行次数长度
while [ "$i" -lt "${#ARR_LIST[@]}" ]
do
#"-----------次数以下请保证在一行内--------------- "
${MYSQLPATH}mysqldump -u ${SQLNAME} -p${SQLPASS} ${ARR_LIST[$i]} > ${BACKUP}${ARR_LIST[$i]}.${DATATIME}.sql
#"-----------次数以下请保证在一行内--------------- "
cd ${DOMAIN_BLOG}${DOMAIN[$i]}/blog && tar -zcf ${BACKUP}${DOMAIN[$i]}.wp_content.${DATATIME}.tar.gz ./wp-content/* > /dev/null
#"-----------次数以下请保证在一行内--------------- "
cd ${BACKUP} && tar -zcf ${DOMAIN[$i]}.${DATATIME}.tar.gz ./${ARR_LIST[$i]}.${DATATIME}.sql ./${DOMAIN[$i]}.wp_content.${DATATIME}.tar.gz > /dev/null
#"-----------次数以下请保证在一行内--------------- "
sleep 1
#"-----------次数以下请保证在一行内--------------- "
echo "DATABASE:${DOMAIN[$i]}.${DATATIME}.SQL| FILE:${DOMAIN[$i]}.WP-CONTENT.${DATATIME}" |mutt -s "New Message ${DATATIME}:Your backups ${DOMAIN[$i]}.${DATATIME}.tar.gz" ${MAIL_LIST[$i]} -c ${MAIL_LIST[$2]} -a ${BACKUP}${DOMAIN[$i]}.${DATATIME}.tar.gz > /dev/null
#"-------------------------- "
sleep 5
((i=$i+1))
done
unset SQLNAME SQLPASS BACKUP DOMAIN_BLOG MYSQLPATH
如果你觉得好,请大家到公众号给个红心支持一下!!

- THE END -

玩趣儿

1 条评论。