`

Linux下mysql定时备份操作

 
阅读更多

1.操作系统
[root@localhost ~]# cat /proc/version
Linux version 2.6.18-53.el5PAE (
mockbuild@builder6.centos.org) (gcc version 4.1.2 20070626 (Red Hat 4.1.2-14)) #1 SMP Mon Nov 12 02:55:09 EST 2007
[root@localhost ~]# cat /etc/redhat-release
CentOS release 5 (Final)


2.数据库 用户名root 密码china123
mysql> status
--------------
mysql  Ver 14.14 Distrib 5.1.50, for pc-linux-gnu (i686) using readline 5.1
3.备份整库脚本Shell

 

3.1 备份方式一:单库备份,备份到/tools/db_backup/pgs与/tools/db_backup/iteye下,自动删除3天前的文件
backup_pgs_byday.sh内容为
#! /bin/bash
mysqldump -cp --user=root --password='china123' pgs | gzip > /tools/db_backup/pgs/pgs-`date +%Y%m%d%H`.sql.gz ;
mysqldump -cp --user=root --password='china123' iteye | gzip > /tools/db_backup/iteye/iteye-`date +%Y%m%d%H`.sql.gz ;

 

 

 

find /tools/db_backup/pgs -type f -ctime 3 -exec rm -f {} \;
find /tools/db_backup/iteye -type f -ctime 3 -exec rm -f {} \;

 

 

 


3.2 备份方式二:备份上一个月指定表的数据,,备份到/tools/db_backup/pgs_bak 下
backup_his_bymonth.sh内容为
#! /bin/bash
YEAR="`date +"%Y"`"
MON1=`date +"%m"`

 

if [ $MON1 -eq 01 ]; then
{
        MONTH=12
        YEAR=`expr $YEAR - 1`
};
else
{
        MON2=`expr $MON1 - 1`
        if [ $MON1 -lt 10 ]; then
                SUPP=0
                MONTH="$SUPP$MON2"
        fi
};
fi
MYDATE="$YEAR-$MONTH" 
mysqldump -cp -t --single-transaction --user=root --password='china123' --where="DATE_FORMAT(donetime,'%Y-%m') = '`expr $MYDATE`'" pgs T_NODE_INSTANCE | gzip > /tools/db_ba
ckup/pgs_bak/T_NODE_INSTANCE_`expr $MYDATE`_BAK.sql.gz;
mysqldump -cp -t --single-transaction --user=root --password='china123' --where="DATE_FORMAT(donetime,'%Y-%m') = '`expr $MYDATE`'" pgs T_NODE_INSTANCE_HIS | gzip > /tools/db_ba
ckup/pgs_bak/T_NODE_INSTANCE_HIS_`expr $MYDATE`_BAK.sql.gz;

 

4.定时任务 
4.1查看定时任务
[root@localhost /]# crontab -u root -l

 

4.2编辑定时任务
[root@localhost /]# crontab -u root -e
0 1 * * * /tools/db_backup/backup_pgs_byday.sh
0 1 1 * * /tools/db_backup/backup_his_bymonth.sh

 

4.3解释
0 1 * * * /tools/db_backup/backup_pgs_byday.sh 表示每天的凌晨1点开始备份
0 1 1 * * /tools/db_backup/backup_his_bymonth.sh 表示每个月1号的凌晨1点开始备份

 

4.4开启crontab服务
[root@localhost /]# /sbin/service crond restart
Stopping crond: [  OK  ]
Starting crond: [  OK  ]

 

4.5再次查看是否存在
[root@localhost /]# crontab -u root -l
0 1 * * * /tools/db_backup/backup_pgs_byday.sh
0 1 1 * * /tools/db_backup/backup_his_bymonth.sh

分享到:
评论

相关推荐

    linux下mysql定时备份

    ### Linux下MySQL定时备份知识点详解 #### 一、概述 在Linux环境中,为了确保数据的安全性和可用性,定期对MySQL数据库进行备份是非常重要的。本文将详细介绍如何在Linux系统下设置MySQL数据库的定时备份,包括...

    linux mysql定时备份脚本

    本文将详细介绍如何利用shell脚本来创建MySQL的定时备份,并结合提供的"mysqlbackup.sh"脚本和"添加定时任务.txt"文件,帮助你实现这一功能。 首先,我们来看"mysqlbackup.sh"这个shell脚本。这个脚本通常包含以下...

    mysql定时备份(linux脚本).zip

    标题中的"mysql定时备份(linux脚本)"指的是一个使用Linux shell编写的脚本,用于自动执行MySQL数据库的备份任务。这个脚本通常会包含以下几个关键部分: 1. **连接信息**:包括MySQL服务器的IP地址、端口、用户名和...

    linux下mysql定时备份整理.pdf

    【Linux下MySQL定时备份】 MySQL数据库的定期备份是系统管理员维护数据库稳定性与数据安全的重要环节。在Linux环境中,可以通过编写Shell脚本来实现自动化备份。本文将深入解析如何配置和使用一个名为“linux下...

    linux服务器如何每天定时的备份mysql

    对于Linux环境下部署的MySQL数据库来说,实现每日定时备份尤为关键。本文将详细介绍如何通过编写Shell脚本并结合Cron定时任务,在Linux服务器上自动完成MySQL数据库的每日定时备份,并且只保留最近五天的备份文件。 ...

    linux服务器定时自动备份mysql数据库的脚本sh

    利用 crontab -e 将此脚本加入即可,主要是用于linux服务器定时自动备份mysql数据库的脚本sh

    Linux下MYSQL每天完全备份

    利用crontab,系统每天定时备份mysql数据库 利用系统crontab来定时执行备份文件,按日期对备份结果进行保存,达到备份的目的。 1、创建保存备份文件的路径/mysqldata #mkdir /mysqldata 2、创建/usr/sbin/...

    linux下mysql定时备份汇编.pdf

    综上所述,这个Linux下的MySQL定时备份脚本提供了一种自动化、可靠且灵活的数据库备份策略,通过选择不同的备份方法和设置合理的备份频率,可以满足不同场景的需求。同时,良好的日志管理和错误处理机制确保了备份...

    mysql定时备份脚本

    用于Linux系统下的mysql数据库定时备份

    linux下mysql定时备份宣贯.pdf

    在Linux环境下,对MySQL数据库进行定时备份是确保数据安全的重要措施。这篇文档介绍了一个Shell脚本,用于自动化MySQL数据库的备份过程,并将其配置在crontab中以便每日凌晨自动执行。下面是对脚本及其相关知识点的...

    Linux下定时备份文件.zip_数据库定时备份

    2. `Linux下定时备份文件 - CSDN博客.url`:这是一个链接,可能指向一篇关于如何在Linux下进行定时备份的教程,CSDN是中国一个知名的开发者社区。 3. `3.添加计划任务,每7天执行一次`:这部分可能是关于如何配置cron...

    linux下 MYSQL 自动备份工具

    6. **cron定时器**:Linux的`cron`服务允许用户设置定时任务,例如每天、每周或每月执行一次MySQL备份。通过编辑`crontab`文件,可以设定`backup.sh`脚本的执行时间,实现完全自动化。 7. **备份策略**:合理的备份...

    linux mysql自动备份

    mysql自动备份shell脚本,下载放到root下载etc/crontab中加入定时启动命令

    mysql数据库自动定时备份

    MySQL数据库的自动定时备份是数据库管理中的重要环节,它确保了数据的安全性和可恢复性,尤其是在发生意外情况如系统故障、硬件损坏或人为错误时。本教程将详细讲解如何设置MySQL数据库的自动定时备份,包括步骤、所...

    Linux下定时备份MySQL数据库的Shell脚本.pdf

    ### Linux下定时备份MySQL数据库的Shell脚本知识点详解 #### 一、背景介绍与重要性 对于每一个在线网站或服务而言,数据备份是一项至关重要的任务。无论是为了应对未来的版本升级,还是服务器迁移的需求,定期备份...

    linux mysql定时备份

    ### Linux MySQL定时备份详解 在IT领域,数据安全与数据恢复是至关重要的环节,而数据库备份作为保障数据安全的关键手段之一,尤其受到重视。本文将深入解析如何在Linux环境下实现MySQL数据库的定时备份、自动删除N...

    如何在linux下实现mysql数据库每天自动备份 txt

    ### 如何在Linux下实现MySQL数据库每天自动备份 在Linux环境下进行MySQL数据库的日常自动备份是一项重要的维护工作,它能够确保数据的安全性与完整性。本文将详细介绍如何通过编写Shell脚本并结合Cron定时任务来...

    linux下mysql自动备份

    本文将详细介绍三种常见的MySQL自动备份方法,并讲解如何在Linux下设置执行计划来定时运行这些备份任务。 一、mysqldump命令备份 mysqldump是MySQL官方提供的一个命令行工具,它可以将数据库结构和数据导出为SQL...

    Linux平台Mysql自动备份脚本

    通过该脚本,可以实现MySQL数据库的定时备份,并按照一定规则管理备份文件,确保数据安全的同时减少磁盘空间占用。 #### 二、备份脚本结构分析 ##### 2.1 创建备份路径 ```bash #mkdir -p /home/backup/mysql_...

    利用Crontab为Linux定时备份Mysql数据库

    下面将详细介绍如何利用Crontab来实现Linux定时备份MySQL数据库的步骤。 首先,你需要创建一个用于存放备份文件的目录。在本例中,我们创建`/mysqldata`作为备份存储位置: ```bash # mkdir /mysqldata ``` 接...

Global site tag (gtag.js) - Google Analytics