假设每个网站的目录都是www开头的,数据库的名字是域名,www开头,不带后缀的形式。比如 www.shelljiaocheng.com 的数据库名字是 www_shelljiaoben。
#/bin/bash
SITEDIR=/data/sitedir
cd SITEDIR
ans="yes"
for site in `ls -d www*`
do
cdSITEDIR
db_name=(echo "site" | cut -d '.' -f -2 | sed 's/\./_/g')
echo db_name
mysql -e "SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME='db_name';" | grep -q "db_name"
if [? -eq 0 ]; then
cd site
mysqldumpdb_name > 20241029.sql
if [ ? = 0 ]; then
echodb_name 备份成功
else
echo db_name 备份失败
fi
else
echo "数据库db_name 不存在。"
echo db_name >> ~/tmp.txt
ans=db_name
fi
done
echo "\ans =ans"
cd ~