有个问题,没有完美解决,就是在密码这里会提示 明文写入密码,不安全,只是一个提示,不会中断脚本执行,也不会影响结果,只是不完美。不知有没有晓得怎么解决这个问题的大哥,提一点点意见,万分感谢。
#!/bin/bash
bk_dir=/data/mysql/bk
bk_time=$(date +%Y%m%d)
bk_mysqldump=/usr/local/mysql-5.7.26/bin/mysqldump
db_user=root
db_password=Yy123456
db_name=(`mysql -uroot -p$db_password -e "show databases" 2> /dev/null`)
#数据备份
for i in ${db_name[@]:2}
do
#判断目录是否存在
if [ ! -d "${bk_dir}/$i" ];
then
mkdir -p ${bk_dir}/$i
fi
#备份所有库
$bk_mysqldump -u$db_user -p$db_password ${i} > $bk_dir/${i}/${i}-${bk_time}.sql 2> /dev/null
if [ $? -ne 0 ];
then
echo -e "${i}-${bk_time}.sql 备份 OK!!! " >> $bk_dir/mysqldump.log
else
echo -e "${i}-${bk_time}.sql 备份 error" >> $bk_dir/mysqldump.log
fi
cd $bk_dir/$i
tar -zcf ${i}-${bk_time}.tar ${i}-${bk_time}.sql
rm -f ${i}-${bk_time}.sql
find ${bk_dir}/${i} -name "*.tar" -mtime +30 -exec rm -rf {} \; &>/dev/null
done