CentOS7.X 挂载磁盘 与Mysql 自动备份

1、前言

       搞了好几天终于弄了出来,简单记录一下。注意以下教程是在测试服务器基础上编写 如数据盘含有数据切勿使用此教程,如对命令行不熟悉的 不建议搞哈 。本文中的磁盘/dev/sdb为笔者测试服务器上的命名,在您的服务器中可能是/dev/xdb、/dev/vdb、/dev/xvdb等等,请根据实际情况进行修改

2、创建挂载目录 www

mkdir -p /www

3、确认是否没有分区的磁盘

fdisk -l

如下图,没有分区的磁盘是/dev/vdb,在您的服务器中可能是/dev/sdb,请注意按照实际名称修改 I/O size (minimum/optimal): 512 bytes / 512 bytes 与 /dev/vdb1 2048 167772159 83885056 83 Linux  之间没有内容就是没有分区的

4、磁盘分区 若已分区,可跳过

fdisk /dev/vdb

 

 

然后输入n开始创建分区

输入p创建主分区

选择分区号 输入1

输入分区开始位置,直接回车

输入wq 回车退出

5、检查是否分区成功(带有sdb1/vdb1/xvb1说明成功)

fdisk -l

 

6、格式化分区

mkfs.ext4 /dev/vdb1

 

 

 

7、将分区挂载信息添加到配置文件/etc/fstab中,实现开机/重启自动挂载

echo "/dev/vdb1 /www ext4 defaults 0 0" >> /etc/fstab
mount -a 
df -h 

 

重新挂载所有分区 mount -a 

检查是否挂载成功  df -h

8、Mysql的自动备份

没有安装mysql的自己安装一下就不贴教程了

8.1、在挂载磁盘新建文件夹 databack 在databack文件夹下面新建一个back.sh脚本文件

 

#!/bin/bash
DATE=`date +%Y%m%d%H%M`                #every minute 时间
DATABASE=hosp_mobile                   #database name数据库名称
DB_USERNAME=root                       #database username用户名
DB_PASSWORD="mysql"                    #database password密码
BACKUP_PATH=/www/databack              #backup path 备份路径

#backup command 命令

/usr/bin/mysqldump -u$DB_USERNAME -p$DB_PASSWORD -h 127.0.0.1 -R --opt $DATABASE | gzip > ${BACKUP_PATH}\/${DATABASE}_${DATE}.sql.gz

#just backup the latest 15 days//保存15天的

find ${BACKUP_PATH} -mtime +15 -name "${DATABASE}_*.sql.gz" -exec rm -f {} \;

 

8.2、跳转到这个目录 

chmod +x back.sh
crontab -e
00 1 * * * /root/database_backup_shell.sh
crontab -l 

给脚本授权 chmod +x back.sh

编写定时备份任务  crontab -e

输入凌晨1点备份命令 00 1 * * * /root/database_backup_shell.sh    按desc 再按:wq 保存退出

查看定时任务 crontab -l 

 

 

可实现每天凌晨三点自动执行第一步编写的脚本,备份mysql数据库到www//backdata,且只保留最近15天的数据库备份。

怎么样 你学废了没有?

每日一句鸡汤喝喝:一个人,如果不逼自己一把,就根本不知道自己有多优秀。每个人都有潜能的,所以,当面对压力时,要相信自己,一切都能处理得好。人只有压力才会有动力,穷者思变,时世造英雄,逼急了好汉可以上梁山。一个人的成长,必须通过磨炼。有时候,必须对自己狠一次,否则永远也活不出自己。

本文连接:https://www.cnblogs.com/w5942066/p/14082014.html

posted @ 2020-12-03 18:45  魏杨杨  阅读(466)  评论(0编辑  收藏  举报
行到水穷处,坐看云起时!转载声明:技术需要共享,欢迎转载!但请注明版权及出处!