一键安装Nginx
脚本 install_nginx.sh #!/bin/bash
#Use: 使用Shell脚本一键安装Nginx
#Author: wl_it
#Date: 2020.05.07
# 1. yum安装编译工具及库文件
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
if [[ "$?" -ne 0 ]]; then
echo -e "\033[33m 安装编译工具和库文件失败\033[0m"
exit
fi
# 2. 安装pcre让Nginx支持Rewrite功能。安装到 /usr/local/src/目录下
cd /usr/local/src/ && wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz && tar zxvf pcre-8.35.tar.gz && cd pcre-8.35 && ./configure && make && make install && pcre-config --version
if [[ "$?" -ne 0 ]]; then
echo -e "\033[33m 安装pcre失败\033[0m"
exit
fi
# 3. 安装Nginx。安装到 /usr/local/src/
cd /usr/local/src/ && wget http://nginx.org/download/nginx-1.16.0.tar.gz && tar zxvf nginx-1.16.0.tar.gz && cd nginx-1.16.0 && ./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.35 && make && make install && /usr/local/webserver/nginx/sbin/nginx -v
if [[ "$?" -ne 0 ]]; then
echo -e "\033[33m 安装Nginx失败\033[0m"
else
echo -e "\033[32m 安装Nginx成功\033[0m"
fi
mysql数据库备份脚本
编写脚本 #!/bin/bash
#Use: mysql按天自动备份脚本
#Author: wl_it
#Date: 2020.05.06
#备份目录
BAK_DIR=/data/backup/`date +%Y%m%d`
#数据库名称
MYSQL_DB=study_cloudalibaba_db
#备份专用数据库登陆名
MYSQL_USER=backup
#备份专用数据库登陆密码
MYSQL_PWD=123456
#Mysql备份命令
MYSQL_CMD=/usr/bin/mysqldump
#该脚本必须以root用户执行
if [ $UID -ne 0 ];then
echo "该脚本必须以root执行"
exit
fi
#如果备份目录不存在则创建
if [ ! -d $BAK_DIR ];then
mkdir -p $BAK_DIR
echo -e "\033[32m备份目录$BAK_DIR创建成功\033[0m"
else
echo "备份目录$BAK_DIR已存在"
fi
#执行Mysql备份命令
$MYSQL_CMD -u$MYSQL_USER -p$MYSQL_PWD -d $MYSQL_DB --skip-lock-tables > $BAK_DIR/$MYSQL_DB.sql
#判断上面的备份命令是否成功
if [ $? -eq 0 ];then
echo -e "\033[32m备份$MYSQL_DB成功\033[0m"
else
echo -e "\033[31m备份$MYSQL_DB失败,请检查\033[0m" #31m表示输出红色前景色
fi
当一切都正确时 执行脚本 输出
/bin/bash -n auto_backup_mysql.sh 检查脚本语法是否正确 没有输出表示正确
如果有语法错误会报错,类似下面这样
系统备份
输出当前时间 echo `date +%Y-%m-%d\ %H:%M`
全量备份命令 tar -g /tmp/snapshot -czvf /tmp/20200517_full_shell.tar.gz /root/shell/
# -g 创建一个快照
#全量备份/root/shell/ 目录下的文件到 /tmp/20200517_full_shell.tar.gz 中
增量备份命令 tar -g /tmp/snapshot -czvf /tmp/20200517_add_shell.tar.gz /root/shell/
#在原来快照的基础上 增量备份新增或修改的文件
#和上面的命令是一样的 只是备份压缩的文件名不同
#其实在第一次执行备份时 在/tmp/目录下创建了一个名为snapshot的文件
#所以两次执行备份指令的区别就是 如果不存在/tmp/snapshot文件 就执行全量备份 否则在上次备份的基础上执行增量备份
自动化脚本实现 每周日执行全量备份,其余每天执行增量备份 #!/bin/bash
#Use: Shell脚本实现系统的全量和增量备份 每天执行一次 如果是周末 则执行全量备份 否则执行增量备份
#Author: wl_it
#Date: 2020.05.17
#必须指定备份的目录
if [ -z $1 ]; then
echo -e "\033[31m必须指定备份的目录\033[0m"
exit
fi
#日期
DATE=`date +%Y-%m-%d`
#星期几
WEEK=`date +%u`
#备份的目的地址
BACK_DIR="/tmp/back/"
TARGET_DIR=$1
#全量备份函数
function full_backup() {
if [ "$WEEK" -eq "7" ];then
mkdir -p $BACK_DIR
rm -f ${BACK_DIR}snapshot
tar -g ${BACK_DIR}snapshot -czvf ${BACK_DIR}${DATE}-full-data.tar.gz $TARGET_DIR
echo -e "\033[32m全量备份完成!!\033[0m"
fi
}
#增量备份函数
function add_backup(){
if [ "$WEEK" -ne "7" ];then
mkdir -p $BACK_UP
tar -g ${BACK_DIR}snapshot -czvf ${BACK_DIR}${DATE}-add-data.tar.gz $TARGET_DIR
echo -e "\033[32m增量备份完成!!\033[0m"
fi
}
#执行函数
full_backup
add_backup
文章来源
发表评论