Linxu云计算如何自动备份mysql数据库脚本和nginx服务启动脚本?

自动备份mysql数据库脚本

从centos7.0开始,系统中自带的mysql数据库包,改为mariadb数据库。

MariaDB数据库概述:MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。MariaDB由MySQL的创始人Michael
Widenius(迈克尔·维德纽斯)主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL
AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。MariaDB名称来自Michael
Widenius的女儿Maria(玛丽亚)的名字。
甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。
过去一年中,大型互联网用户以及Linux发行商纷纷抛弃MySQL,转投MariaDB阵营。MariaDB是目前最受关注的MySQL数据库衍生版,也被视为开源数据库MySQL的替代品。
更多技术干货尽在公众号【学神来啦】,更有电子书免费获得哦!

安装mariadb数据库:

[root@xuegod63 ~]# yum -y install mariadb mariadb-server 
# mariadb 是mysql的客户端命令 ; mariadb-server 是mysql服务端命令
[root@xuegod63 ~]# rpm -ql mariadb
[root@xuegod63 ~]# systemctl start mariadb

登录mysql:
[root@xuegod63 ~]# mysqladmin  -u root password "123456"   #给root用户配置一个密码123456
[root@xuegod63 ~]# mysql -u root -p123456  #登录mysql数据库
MariaDB [(none)]> show databases;
MariaDB [(none)]> create database xuegod  ;    #创建xuegod数据库
MariaDB [(none)]> use xuegod;        #选择数据库
MariaDB [xuegod]> create table user (id int);   #创建user表,只有一个id字段
MariaDB [xuegod]> insert into user values(1);   #插入一条记录,id字段值1
MariaDB [xuegod]> insert into user values(2);   #插入一条记录,id字段值2
MariaDB [xuegod]> select * from user;   #查看表中的数据
+------+
| id   |
+------+
|    1 |
|    2 |
+------+

mysql自动化备份脚本:

思路:
1、检查一下运行环境: 目录是否存在,时间,权限,用户
2、运行要执行的命令:备份,导出数据。。。
3、把命令执行过程中的没有用的文件删除一下
4、弹出命令运行成功的消息

[root@localhost shell]# vim mysql-back-auto.sh
#!/bin/bash
# 自动备份mysql脚本
# 定义变量
BAKDIR=/data/backup/mysql
MYSQL_DATABASE=xuegod
FILENAME=${MYSQL_DATABASE}_`date +%Y-%m-%d`.sql
MYSQL_USER=root
MYSQL_PASSWORD=123456

# 脚本必须是root用户才能运行
if [ $UID  -ne 0 ];then
echo 脚本必须root用户运行
exit 0
fi
# 判断目录是否存在,不存在则新建,否则如果备份文件存在则退出脚本
if [ ! -d $BAKDIR ];then
        mkdir -p $BAKDIR
elif [ -f $BAKDIR/${FILENAME}.tar.gz ];then
        echo "备份文件已存在"
        exit 1
fi
#使用mysqldump备份数据库
/usr/bin/mysqldump -u${MYSQL_USER} -p${MYSQL_PASSWORD} ${MYSQL_DATABASE} > ${BAKDIR}/${FILENAME}
cd $BAKDIR && tar -czf ${FILENAME}.tar.gz ${FILENAME}
#查找备份目录下以.sql结尾的文件并删除(不建议)
#[ $? -eq 0 ] && find $BAKDIR -type f -name *.sql -exec rm -rf {} \;
#打包命令执行成功了,提示成功,然后删除100天以前的备份文件
[ $? -eq 0 ] && echo "$FILENAME 数据库备份成功"
cd $BAKDIR && find . -type f -mtime +100 -exec rm -rf {} \;
ls $BAKDIR
tar tvf $BAKDIR/${FILENAME}.tar.gz 

加入计划任务

crontab -e
0 3 * * * /bin/bash /root/mysql-back-auto.sh

nginx编译脚本

此nginx脚本中使用了函数功能,让脚本具有更强的可读性

[root@xuegod63 ~]# vim setup_nginx.sh
#!/bin/bash
#编译安装nginx-1.18.0
#定义变量
prefix=/usr/local/nginx
setup_file=nginx-1.18.0.tar.gz
setup_dir=/root/
setup_version=nginx-1.18.0
setup_url=http://nginx.org/download/nginx-1.18.0.tar.gz
#检查文件是否存在,不存在则下载
check_file(){
if [ ! -f ${setup_dir}${setup_file} ];then
    cd ${setup_dir} && wget ${setup_url}
else
    cd ${setup_dir}
    echo "${setup_dir}${setup_file}存在,继续编译安装步骤"
fi
if [ ! -d ${prefix} ];then
    mkdir -p /usr/local/nginx
else
    echo "${prefix}存在"
fi
}
make1(){
check_file;
if [ -f ${setup_dir}${setup_file} ];then
    tar -xvf ${setup_dir}${setup_file}
    if [ $? -eq 0 ];then
        echo "解压成功"
        cd ${setup_dir}${setup_version}
        echo "进入${PWD}目录"
        yum install -y pcre-devel zlib-devel
        ./configure --prefix=${prefix} 
        make -j 4 && make install
        if [ $? -eq 0 ]; then
            echo "编译完成"
            exit 0
        else
            echo "编译失败请检查!"
            exit 1
        fi
    fi

fi
}
make1 
[root@xuegod63 ~]# sh setup_nginx.sh

nginx服务启动脚本

此nginx脚本中使用了函数功能,让脚本具有更强的可读性

[root@xuegod63 ~]# vim /etc/init.d/nginx    
#!/bin/bash
#chkconfig: 2345 80 90
#description:nginx run
# nginx启动脚本
PATH_NGINX=/usr/local/nginx      #nginx路径
DESC="nginx daemon"       #nginx描述
NAME=nginx
DAEMON=$PATH_NGINX/sbin/$NAME   #/usr/local/nginx/sbin/nginx #nginx命令的绝对路径 
PIDFILE=$PATH_NGINX/logs/${NAME}.pid
SCRIPTNAME=/etc/init.d/$NAME
[ -x "$DAEMON" ] || exit 0   #不存在可执行的文件,则退出
do_start()
{
        [ ! -f "${PIDFILE}" ] && ${DAEMON} || echo -n " nginx already running"
        ps_aux
}
do_stop()
{
        [ -f "${PIDFILE}" ] && $DAEMON -s stop || echo -n " nginx not running"
}
do_reload()
{
        $DAEMON -s reload || echo -n "\n nginx can't reload"
}
ps_aux() {
        echo ""
        ps aux | grep "${NAME}" | grep -v "grep"
}
case "$1" in
    start)                
        echo -n "Starting $DESC: $NAME"
                do_start
                echo "."
        ;;
        stop)
                echo -n "Stopping $DESC: $NAME"
                do_stop
                echo "."
        ;;
        reload|graceful)
         echo -n "Reloading $DESC configuration..."
                do_reload
                echo "."
        ;;
        restart)
                echo -n "Restarting $DESC: $NAME"
                do_stop
                sleep 1
                do_start
        ;;
        *)
                echo "Usage: $SCRIPTNAME {start|stop|reload|restart}" 
                exit 1
        ;;
esac
exit 0
[root@xuegod63 ~]# chmod +x /etc/init.d/nginx
[root@xuegod63 ~]# chkconfig --add /etc/init.d/nginx
[root@xuegod63 ~]# chkconfig nginx on
[root@xuegod63 ~]# chkconfig --list
[root@xuegod63 ~]# systemctl status nginx
[root@xuegod63 ~]# systemctl start nginx
[root@xuegod63 ~]# systemctl status nginx
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,214评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,307评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,543评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,221评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,224评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,007评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,313评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,956评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,441评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,925评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,018评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,685评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,234评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,240评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,464评论 1 261
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,467评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,762评论 2 345

推荐阅读更多精彩内容