Shell脚本内使用数组,方便修改配置增加灵活度,减少脚本长度

    玩玩数组,会让你的管理更加简单,合理的安排备置,比如文件夹路径等!反正我是这样的,尽量让自己的服务器有一种规律,这样可以用一个简短的脚本完成憨重繁琐的工作。我保证你用过后会喜欢上它,这种要比你以文件或其他方式存储临时数据更方便!修改配置也方便,一目了然,还等什么换吧~
数组数组是在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来的一种形式。这些按序排列的同类数据元素的集合称为数组。在C语言中, 数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。
类型说明符 数组名[常量表达式1][常量表达式2]…;
image

下面是我Vps里面的一个脚本,是备份博客数据的脚本。备份好后分别发送到域名对应邮箱

root@server cron]# cat  mysql_all.sh

#!/bin/bash 
##让时间固定,防止出错 
## http://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 -
版权声明:
转载原创文章请注明,文章出处:http://kinggoo.com
原文地址:http://kinggoo.com/shell-quickconfigarr.htm
发表评论?

1 条评论。

  1. vps内wordpress 数据备份脚本 | KingGoo技术博客 - pingback on 2013 年 04 月 17 日 在 18:24

发表评论


Trackbacks and Pingbacks: