MySQL, Oracle, Linux, 软件架构及大数据技术知识分享平台

网站首页 > linux / 正文

Linux系统中的Mysql数据备份(一)——weaver数据备份

2024-11-26 15:07 huorong linux 3 ℃ 0 评论

简介:本文主要介绍通过Linux系统的计划任务Crontab执行数据库脚本进行备份,设计的内容包括数据备份脚本的编写,计划任务的制作等内容。详细内容包括:

SH脚本程序以下面的行开始:#! /bin/sh

符号#!用来告诉系统它后面的参数是用来执行该文件的程序的。在这个例子中我们使用/bin/sh来执行程序。当编写脚本完成时,如果要执行该脚本,还必须使其可执行。

要使编写脚本可执行:# chmod +x filename 这样才能用./filename 来运行。

Crontab执行备份计划:# crontab –e

用crontab -e进入当前用户的工作表编辑,是常见的vim界面。每行是一条命令。crontab的命令构成为 时间+动作,其时间有分、时、日、月、周五种,操作符有:

* 取值范围内的所有数字

/ 每过多少个数字

- 从X到Z

,散列数字

一、登录linux系统

二、查看数据库版本

三、编写数据库备份脚本

#!/bin/bash

days=$(date '+%Y%m%d') #定义日期函数

/usr/bin/mysqldump –u ‘用户名’ –p ‘用户密码’ ‘表空间名称’ > /usr/local/backup/date_$days.sql

cd /usr/local/backup

# tar命令打包并删除原文件

tar -zcvf date_$days.tar.gz date_$days.sql --remove-files

# 保留两个星期的文件

find /usr/local/backup -name "*.tar.gz" -mtime +14 -exec rm {} \;

四、制订备份计划

1、计划任务管理CRON

Linux系统经常使用的是crontab命令是cron table的简写,它是cron的配置文件,也可以叫它作业列表,可以在以下文件夹内找到相关配置文件,一般以root用户登陆并执行# crontab –e所生成的计划任务存放在/var/spool/cron/ 目录下。

/var/spool/cron/ 目录下存放的是每个用户包括root的crontab任务,每个任务以创建者的名字命名;

/etc/crontab 这个文件负责调度各种管理和维护任务;

/etc/cron.d/ 这个目录用来存放任何要执行的crontab文件或脚本;

还可以把脚本放在/etc/cron.hourly、/etc/cron.daily、/etc/cron.weekly、/etc/cron.monthly目录中,让它每小时/天/星期、月执行一次。

2、执行计划任务指令# crontab –e编写备份任务

* * * * * /usr/local/backup.sh

格式说明:第1列为分钟,0~59;第2列为小时,0~23;第3列为日期,1~31;第4列为月份,1~12;第5列为星期,0~7(0和7表示星期天);第6列为要运行的命令(如果有多个命令用 && 隔开)。

3、执行备份脚本进行测试

如果执行过程出现错误提示:mysqldump: Got error: 2002: "Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)"

其处理过程如下:

执行find指令,找到mysql.sock文件,然后创建软连接到/var/lib/mysql/目录中。如下图# ln -s /tmp/mysql.sock '/var/lib/mysql/mysql.sock'

再执行备份脚本# sh backup.sh

4、linux计划任务实例

Tags:linux登录数据库

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言