1.数据库备份
1.执行db_dump.sh westos(数据库密码)
2. 脚本执行后会备份数据库中的所有库到/mnt/mysqldump目录中
3. 备份文件名称为 “库名称.sql”当此文件存在时报错并询问动作:输入“S”跳过备份;当输入“B"时备份“库名称.sql”文件为“库名称_backup.sql”,当输入“O”时,覆盖源文件
#!/bin/bash
password=$1
dump_dir=/mnt/mysqldump
echo "3.备份存在,如何选择"
DB_CHOICE(){
db=$1
password=$2
echo "$db.sql已经存在,清选择:[S]kip [B]ackup [o]verwrite"
read -p "输入你的选择: "choice
case $choice in
s|S)
;;
b|B)
#先将原先备份的文件重命名为westos.sql---> westos_backup.sql #再重新备份
mv /mnt/mysqldump/$db.sql /mnt/mysqldump/$db_backup.sql
mysqldump -uroot -p$password $db > /mnt/mysqldump/$db.sql
echo "备份源文件/mnt/mysqldump/$db.sql成功"
;;
o|O)
mysqldump -uroot -p$password $db > /mnt/mysqldump/$db.sql
echo "备份源文件/mnt/mysqldump/$db.sql成功"
;;
*)
echo “请输入正确选择”
;;
esac
echo "1.检测备份目录"
if [ -e $dump_dir ];then
if [ -d ! $dump_dir ];then
rm -fr $dump_dir
mkdir $dump_dir
fi
else
mkdir $dump_dirfi
fi
echo "2.获取数据库中所有的数据库名称"dbs=`mysql -uroot -p$password -e "show databases;" | grep -E "Database|schema$" -v`
for db in $dbs
do
#"检测备份文件是否存在,若存在询问用户需求(O|S|B)"
if [ -e /mnt/mysqldump/$db.sql ];then
DB_CHOICE $db $password
else
mysqldump -uroot -p$password $db > /mnt/mysqldump/$db.sql
fi
done
2.服务自动部署
1.执行脚本lamp.sh
2.脚本执行后部署好论坛,并设定apache的网络接口为8080
#!/bin/bash
echo "1.软件安装"
dnf install httpd mariadb-server php php-mysqlnd -y
echo "2.关闭防火墙"
systemctl stop firewalld
systemctl disable firewalld
echo "3.关闭selinux"
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
echo "4.启动服务并设为开机自启动"
systemctl start httpd
systemctl start mariadb
systemctl enable httpd
systemctl enable mariadb
echo "5.下载wordpress并解压发布"
#wget https://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz
#tar xf wordpress-4.9.4-zh_CN.tar.gz -C /var/www/html
echo "6.Apache端口更改"
sed -i "s/Listen 80/Listen 8080/g" /etc/httpd/conf/httpd.conf
systemctl restart httpd
echo "7.测试论坛/博客是否搭建成功"
curl http://127.0.0.1:8080 | grep "论坛" &>/dev/null
[ $? -eq 0 ] && echo "lamp搭建成功" || echo “lamp搭建失败”