linux实现定时备份mysql数据库的简单方法

以下是详细步骤:

1、查看磁盘空间情况:

[root@localhost backup]# df -h
文件系统         容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root  17G 2.7G  15G  16% /
devtmpfs         476M   0 476M  0% /dev
tmpfs          488M   0 488M  0% /dev/shm
tmpfs          488M 7.7M 480M  2% /run
tmpfs          488M   0 488M  0% /sys/fs/cgroup
/dev/sda1        1014M 130M 885M  13% /boot
tmpfs           98M   0  98M  0% /run/user/0
[root@localhost backup]#

选择合适磁盘存放备份文件

2、创建备份目录:

cd /home
mkdir backup
cd backup

3、创建备份Shell脚本:

在创建的目录下创建备份脚本(vi bkDatabaseName.sh)

#!/bin/bash
mysqldump -uroot -proot rtak > /data/backup/rtak_$(date +%Y%m%d_%H%M%S).sql
mysqldump -uroot -proot rtak | gzip > /data/backup/rtak_$(date +%Y%m%d_%H%M%S).sql.gz

注:

bkDatabaseName.sh 替换成有意思的名称

sql备份与gz备份可以二选一,也可全备份

用户名密码需要替换

4、添加可执行权限:

chmod u+x bkDatabaseName.sh

测试文件是否可正常执行(./bkDatabaseName.sh)

注:(1)如果报错 mysqldump: 未找到命令,执行

ln -fs /usr/local/mysql/bin/mysqldump /usr/bin (/usr/local/mysql 路径为mysql安装路径)

(2)如果有警告(Warning: Using a password on the command line interface can be insecure.) 可以忽略。

(3)查看备份sql文件是否正常,能否正常导入数据库

5、添加计划任务

确认crontab是否安装:

执行 crontab 命令如果报 command not found,就表明没有安装

执行命令:

crontab -e

输入以下内容并保存:

*/* * 1 * * /data/backup/bkDatabaseName.sh

/* * 1 * * / 几个* 分别代表 分钟 小时 日期 月 星期几 执行备份操作

例如:每分钟执行备份 /1 * * * * / (已测试)

每天凌晨3点执行备份/00 3 * * * / (未测试)

6、停止备份操作

在不需要定时备份的时候,执行该操作,正常流程到第五步就完成了 ~

crontab -r

注:及时清理已过期很久的sql备份,防止磁盘占满

(0)

相关推荐

  • Linux系统下virtuoso数据库安装与使用详解

    最近在调研关联数据的一些东西,需要用到rdf数据库,所以接触了virtuoso数据库.安装的坑其实并不多,之前在windows 10上安过一次.这次在ubuntu 18.04上安装一下,其他的linux发行版安装的流程也差不多. virtuoso数据库的下载与使用 开源版本的virtuoso数据库可以在sourceforge下载.我用的是7.25版本.建议下载已经编译好的generic版本(下载图中标红色的那个),需要编译的那个版本我遇到了openssl版本不支持的问题. 下载完毕后将其解压到/

  • linux每天定时备份数据库并删除十天前数据详细步骤

    每天定时备份数据库需要用到Linux的定时任务,利用Linux的crondtab 命令.下面我们来看详细步骤: 一.写好shell脚本 mysqlbak.sh #!/bin/sh mysqldump -uroot -pmysqlroot xhblt | gzip > /mysqlbak/`date '+%Y-%m-%d_%H:%M:%S'`.sql.gz find /mysqlbak/ -mtime +10 -name "*.sql.gz" -exec rm -rf {} \;

  • linux下安装boost库的完整步骤记录

    前言 Boost库是一个可移植.提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一. Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容.在C++社区中影响甚大,是不折不扣的"准"标准库.Boost由于其对跨平台的强调,对标准C++的强调,与编写平台无关. 在linux安装过程如下: 去官方网站下载最新的:http://sourceforge.net/projects/boost/files/boost/1.47.0/ or

  • Linux中无法远程连接数据库问题的解决方法

    起因 今天在ubuntu16.04环境下通过mysql workbench访问远程数据库时,发现无法连接问题,解决思路及方法记录如下,不足之处,请多指教. 问题 通过workbench输入密码访问时报这个错: Your connection attempt failed for user 'root' from your host to server at 118.89.153.162:3306: Access denied for user 'root'@'118.89.153.162' (u

  • python实现linux下抓包并存库功能

    最近项目需要抓包功能,并且抓包后要对数据包进行存库并分析.抓包想使用tcpdump来完成,但是tcpdump抓包之后只能保存为文件,我需要将其保存到数据库.想来想去shell脚本似乎不太好实现,于是用了比较热门的python来实现.不得不说,python丰富的第三方库确实是很强大,下面是具体的功能代码. from apscheduler.scheduler import Scheduler import os import sys import time import MySQLdb impor

  • linux系统下安装配置解压版的MySQL数据库图解

    一.解压文件到当前目录 命令:tar -zxvf mysql....tar.gz 二.移动解压完成的文件夹到目标目录并更名mysql 命令:mv mysql-版本号 /usr/local/mysql 添加系统mysql组和mysql用户 添加系统mysql组 sudo groupadd mysql 添加mysql用户 sudo useradd -r -g mysql mysql  添加完成后可用id mysql查看 然后进入/usr/local/mysql目录 设置mysql用户组对该文件夹操作

  • Linux环境下使用glog日志库的方法

    生成linux库 Linux版本使用的centos7.3,编译生成库 1.  cd glog-0.3.3 2.  ./configure 3. make make完成后会在.lib下生成相应的库文件 Linux下使用glog库 Linux使用静态库来测试,copy静态库libglog.a和src/glog的头文件到自己的工程目录,创建main.cpp文件,添加如下代码: /******************************************************** Copyr

  • Linux下安装python3.6和第三方库的教程详解

    Linux下安装Python3.6和第三方库 如果本机安装了python2,尽量不要管他,使用python3运行python脚本就好,因为可能有程序依赖目前的python2环境, 比如yum!!!!! 不要动现有的python2环境! 一.安装python3.6 1. 安装依赖环境 # yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdb

  • Linux下动态链接库加载路径及搜索路径问题

    引子 近日,服务器迁移后,偷懒未重新编译nginx的,直接./nginx启动,结果遇到如下问题: "error while loading shared libraries" 这是是因为需要的动态库不在动态链接器ld.so的搜索路径导致. ld.so 动态共享库搜索顺序 1.ELF可执行文件中动态段DT_RPATH指定:gcc加入链接参数"-Wl,-rpath"指定动态库搜索路径: 2.环境变量LD_LIBRARY_PATH指定路径: 3./etc/ld.so.ca

  • linux下导入、导出mysql数据库命令的实现方法

    一.导出数据库用mysqldump命令(注意mysql的安装路径,即此命令的路径): 1.导出数据和表结构: mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql /usr/local/mysql/bin/ mysqldump -uroot -p abc > abc.sql 敲回车后会提示输入密码 2.只导出表结构 mysqldump -u用户名 -p密码 -d 数据库名 > 数据库名.sql /usr/local/mysql/bin/ mysqldump -uroo

随机推荐