1、创建备份文件夹
#cd /bak
#mkdir mysqldata
2、编写运行脚本
#vi /usr/sbin/bakmysql.sh
代码:
#!/bin/bash
# Name:bakmysql.sh
# This is a ShellScript For Auto DB Backup and Delete old Backup
#
backupdir=/bak/mysqlbak
time=` date +%Y%m%d%H `
mysqldump -u user -ppassword dataname1 | gzip > $backupdir/name1$time.sql.gz
mysqldump -u user -ppassword dataname2 | gzip > $backupdir/name2$time.sql.gz
#
find $backupdir -name "name_*.sql.gz" -type f -mtime +5 -exec rm {} \; > /dev/null 2>&1
保存退出
说明:
代码中time=` date +%Y%m%d%H `也可以写为time="$(date +"%Y%m%d$H")"
其中`符号是TAB键上面的符号,不是ENTER左边的'符号,还有date后要有一个空格。
mysql_bin_dir:mysql的bin路径;
dataname:数据库名;
user:数据库用户名;
password:用户密码;
name:自定义备份文件前缀标识。
-type f 表示查找普通类型的文件,f表示普通文件。
-mtime +5 按照文件的更改时间来查找文件,+5表示文件更改时间距现在5天以前;如果是 -mmin +5 表示文件更改时间距现在5分钟以前。
-exec rm {} \; 表示执行一段shell命令,exec选项后面跟随着所要执行的命令或脚本,然后是一对儿{ },一个空格和一个\,最后是一个分号。
/dev/null 2>&1 把标准出错重定向到标准输出,然后扔到/DEV/NULL下面去。通俗的说,就是把所有标准输出和标准出错都扔到垃圾桶里面;其中的& 表示让该命令在后台执行。
3、为脚本添加执行权限
# chmod +x /usr/sbin/bakmysql.sh
4、修改/etc/crontab(在centOS5中测试可行)
#vi /etc/crontab
在最后一行中加入:
00 3 * * * root /usr/sbin/bakmysql.sh
表示每天3点00分执行备份
注:crontab配置文件格式如下:
分 时 日 月 周 命令
Redhat方法:
Redhat的crontab采用按时间调用4个目录(/etc/cron.hourly:每小时;/etc/cron.daily:每天;/etc/cron.weekly:每周;/etc/cron.monthly:每月)中脚本出来运行的方式。
Redhat中只需要将刚才编辑的脚本复制到相应的目录即可。
5、重启crontab
# /etc/rc.d/init.d/crond restart
完成。
6、恢复数据备份文件:
非压缩备份文件恢复:
#mysql -u root -p dataname < name2008010103.sql
从压缩文件直接恢复:
#gzip < name2008010103.sql.gz | mysql -u root -p dataname
或:
# zcat name2008010103.sql.gz | mysql -u root -p
本文来自: 石台论坛(http://www.245100.com/) 详细文章参考:http://www.245100.com/thread-10475-1-1.html
分享到:
相关推荐
对于Linux环境下部署的MySQL数据库来说,实现每日定时备份尤为关键。本文将详细介绍如何通过编写Shell脚本并结合Cron定时任务,在Linux服务器上自动完成MySQL数据库的每日定时备份,并且只保留最近五天的备份文件。 ...
2. `Linux下定时备份文件 - CSDN博客.url`:这是一个链接,可能指向一篇关于如何在Linux下进行定时备份的教程,CSDN是中国一个知名的开发者社区。 3. `3.添加计划任务,每7天执行一次`:这部分可能是关于如何配置cron...
本篇文章将详细介绍如何实现这一目标,将远程服务器的MySQL数据库自动定时备份并存储在本地。 首先,我们需要了解MySQL的数据备份类型。常见的备份方式有全量备份和增量/差异备份。全量备份是备份所有数据库或选定...
本文将详细介绍如何利用shell脚本来创建MySQL的定时备份,并结合提供的"mysqlbackup.sh"脚本和"添加定时任务.txt"文件,帮助你实现这一功能。 首先,我们来看"mysqlbackup.sh"这个shell脚本。这个脚本通常包含以下...
本文将详细解析一个Linux下的MySQL数据库备份脚本,包括其功能、原理以及使用方法。 首先,我们要明白Linux下的备份脚本通常是用Shell语言编写的,这是一种基于命令行的脚本语言,可以方便地调用系统命令执行一系列...
在Linux环境下,自动备份数据库是一项至关重要的任务,它确保了数据的安全性和业务的连续性。以下是一份详尽的步骤指南,教你如何在Linux系统中设置数据库的自动备份。 1. **选择数据库类型**:首先,你需要确定你...
标题中的"mysql定时备份(linux脚本)"指的是一个使用Linux shell编写的脚本,用于自动执行MySQL数据库的备份任务。这个脚本通常会包含以下几个关键部分: 1. **连接信息**:包括MySQL服务器的IP地址、端口、用户名和...
5. 定时执行:为了实现自动备份,这个脚本通常会被配置为定时任务(如Linux下的`cron`)定期运行,确保在指定的时间间隔内进行备份。 在实际部署时,需要注意以下几个关键点: - 数据库权限:确保PHP脚本使用的...
【Linux数据库计划备份MySQL数据库】 在IT行业中,数据库管理是至关重要的任务,特别是对于使用Linux系统的服务器,确保数据的安全性和可恢复性是运维工作的重要环节。MySQL作为最常用的开源关系型数据库管理系统,...
本文将详细介绍如何在Linux和Windows环境下利用提供的`mysql_backup.bat`和`mysql_backup.sh`脚本来实现MySQL数据库的自动备份。 在Windows环境下,我们可以使用批处理脚本`mysql_backup.bat`来执行备份任务。这个...
1. MySQL5.6以上版本 2. 修改 /etc/my.cnf 文件 ...backupDir=数据库备份目录 backupTime=`date +%Y%m%d%H%M%S` mysqldump 你的数据库 | gzip > $backupDir/你的数据库-$backupTime.sql.gz echo 1.$backu
通过该脚本,用户可以轻松地对MySQL数据库进行定期备份,同时保留最近5天的备份数据。 #### 二、脚本配置与环境要求 - **操作系统**: Linux - **数据库**: MySQL - **Shell环境**: 支持`/bin/sh`的Shell环境 - **...
本文将详细介绍如何使用`crontab`工具来实现MySQL数据库的定时备份。 #### 一、crontab简介 `crontab`(Cron table)是Unix/Linux操作系统中的一个标准服务,用于设置周期性执行的任务。用户可以使用`crontab`命令...
本文将深入解析如何配置和使用一个名为“linux下mysql定时备份整理.pdf”的脚本,该脚本能够帮助你设置每日凌晨的MySQL数据库备份,并自动清理超过5天的旧备份。 首先,我们需要了解脚本的基本结构。此脚本主要由...
在Linux环境下,对MySQL数据库进行定时备份是确保数据安全的重要措施。这篇文档介绍了一个Shell脚本,用于自动化MySQL数据库的备份过程,并将其配置在crontab中以便每日凌晨自动执行。下面是对脚本及其相关知识点的...
通过该脚本,可以实现MySQL数据库的定时备份,并按照一定规则管理备份文件,确保数据安全的同时减少磁盘空间占用。 #### 二、备份脚本结构分析 ##### 2.1 创建备份路径 ```bash #mkdir -p /home/backup/mysql_...
为了确保数据的安全性和可靠性,定期备份MySQL数据库显得至关重要。本篇文章将详细讲解如何在Linux系统中设置一个自动的MySQL备份工具,以便实现数据的自动备份,降低因系统故障或人为错误导致的数据丢失风险。 ...
综上所述,这个Linux下的MySQL定时备份脚本提供了一种自动化、可靠且灵活的数据库备份策略,通过选择不同的备份方法和设置合理的备份频率,可以满足不同场景的需求。同时,良好的日志管理和错误处理机制确保了备份...
本文将深入探讨MySQL、Oracle和SQL Server在Windows和Linux环境下的自动备份和删除策略。 首先,让我们关注MySQL数据库。MySQL提供了mysqldump工具来执行逻辑备份,它能将数据库结构和数据转换为SQL语句,然后保存...
在这个场景下,shell脚本用于自动化备份MySQL数据库,节省手动操作的时间和精力。 MySQL是世界上最流行的开源关系型数据库管理系统,5.7.8版本是在其发展历史中一个重要的里程碑。在该版本之前,数据库的备份主要...