#!/bin/sh
dblist=mail ftp www
for arg in $dblist; do
mysqldump -u dumper --password=$dbpass --socket $socket --database $dblist >> /tmp/backup/$dblist.sql
done
来自变量dblist的每个数据库都应编写一个新的mysqldump行并将数据库名称添加到依据字段中,如何实现?
使用变量arg
(即您的数据库名称)为每个数据库创建一个单独的SQL转储文件:
#!/bin/sh
declare -a dblist=(mail ftp www)
for arg in "${dblist[@]}"
do
mysqldump -u dumper --password=$dbpass --socket $socket --database $arg >> /tmp/backup/$arg.sql
done
为什么不将dblist
声明为数组?
dblist=(mail ftp www)
for arg in ${dblist}; do
mysqldump .... $arg
并在调用中使用$arg
变量。
这是一个bash阵列教程。
dblist=(mail ftp)
for arg in ${dblist[*]}
do
mysqldump -u $dbuser --password=$dbpass --socket $socket --database $arg >> /tmp/backup/$arg.sql
done
有效,谢谢!