Shell示例:数据库备份&服务自动部署

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搭建失败”

猜你喜欢

转载自blog.csdn.net/weixin_46074899/article/details/107499738
今日推荐