方法/步骤
1. 在根目录下新建定时备份存储文件夹mkdir /mysql_backup
2.新建备份的脚本vim /root/mysql_backup.sh
3.在mysql_backup.sh中输入内容:
backupdir=/mysqlbackup time=` date +%Y%m%d%H`mysqlmp -uroot -proot abc | gzip > $backupdir/abc$time.sql.gzfind $backupdir -name “abc*.sql.gz" -type f -mtime +5 -exec rm {} \; > /dev/null 2>&1
Ⅱ linux下定时备份Mysql
你的root没有密码吗?
建议使用crontab+shell脚本来备份
#!/bin/bash
#
#Date:2014-9-25
USER=
PASSword=
DATABASE=
DIR=
DATE=`date'+%Y\%m\%d-%H:%M'`
DATE1=`date-dlast-month'+%Y\%m\%d-%H:%M'`
HOST=
LOG=/root/mysqlbk.log
COM=mysqlmp
DEL=$DATE1.sql
OPT="-h$HOST-u$USER-p$PASSWORD$DATABASE"
$COM$OPT>$DIR/$DATE.sql
if[$?-eq0]
then
SIZE=`-h$DIR/$DATE.sql|awk'{print$1}'`
rm-f$DIR/$DEL
echo"$DATE$SIZEMysqlbackupsuccessfully$DELwasremoved">>$LOG
else
echo"$DATEMysqlbackupfailed">>$LOG
fi
这是我自己写的一个备份脚本,USER DATABASE 这是mysql的用户名和密码 DIR是备份的路径
HOST是要备份的mysql的ip地址 我这里是远程备份,如果你的是本地备份的话,可以把HOST给去掉,然后去掉OPT中 -h $HOST ,如果没有密码 就把PASSWORD去掉,还有OPT中的-p 选项以及$PASSWORD , if语句是判断脚本是否执行成功 好吧 如果有什么不明白的再问我吧
Ⅲ 如何在linux下实现mysql数据库每天自动备份
把以前写的一个发你看看
脚本要求: 编写shell脚本,每天凌晨1点备份td_oa库,到mysql-back目录,并将备份文件压缩,压缩名称为备份的日期,只保留连续七天的备份文件
#!/bin/bash
mysql -uroot -p123456 -e "flush tables with read lock;" 锁住表
/usr/local/mysql/bin/mysqlmp -uroot -p123456 td_oa --flush-logs --single-transaction > td_oa.sql &>/dev/null #如果启动了binlog,--flush-logs 刷新日志,--single-transaction 保证数据的一致性
mysql -uroot -p123456 -e "unlock tables;" 解锁
a=`/bin/date +%Y-%m-%d` #在这里加上时间,压缩的时候加上时间,会失败。
echo $a
cd /gxl
/bin/tar -czf $a.tar /fjp/td_oa.sql
b="$a.tar"
cp -p $b /root/fjp
for c in `find /root/fjp -ctime +7`
do
/bin/rm -rf $c
done
Ⅳ 如何在linux下实现每天自动备份mysql数据库
方法/步骤
1. 在根目录下新建定时备份存储文件夹mkdir /mysql_backup
2.新建备份的脚本vim /root/mysql_backup.sh
3.在mysql_backup.sh中输入内容:
backupdir=/mysqlbackup time=` date +%Y%m%d%H`mysqlmp -uroot -proot abc | gzip > $backupdir/abc$time.sql.gzfind $backupdir -name “abc*.sql.gz" -type f -mtime +5 -exec rm {} \; > /dev/null 2>&1
——————————————————————————————
说明:
backupdir = 备份文件存储文件夹time = 获取当前时间 年月日时(2014111417)2014年11月14日17点mysqlmp 备份数据库指令 abc要备份的数据库find $backupdir -name “abc*.sql.gz" -type f -mtime +5 -exec rm {} \; > /dev/null 2>&1 删除5天前的备份文件
3 :wq 文件保存成功后
先按一下键盘上的 " esc " 然后输入 ” :wq “
执行一下脚本,看根目录下的mysql_backup文件夹是否有.sql.gz后缀名的文件
./mysql_backup.sh
写入每天的定时任务 修改 /etc/crontabvi /etc/crontab
按键盘上的"i",开始输入
02 4 * * * root /root/mysql_backup.sh
表示每天4点2分执行备份任务
先按一下键盘上的 " esc " 然后输入 ” :wq “ 表示保存
重新启动crond
service crond restart 或 /etc/rc.d/init.d/crond restart
Ⅳ linux下如何自动备份mysql数据库
1. 写个自动备份的脚本autobackup.sh,内容如下
#!/bin/bash
mysqlmp -p databasename > mydata.sql
2. 更改其为可执行文件 chmod +x autobackup.sh
3. 通过crontab让系统自动运行这个脚本就好了,如crontab -e
0 0 * * * /路径到/autobackup.sh
第一个0表示分钟,第二个0表示0小时也就是零辰第三个*表示每天,第四个*表示每月,第五个*表示每周
Ⅵ 如何在linux下实现mysql数据库每天自动备份
1、你的表都是myisam,且访问量少,可以考虑直接用linux的cp命复,定时复制; 2、你的表都是myisam,有一定的访问量,可以考虑mysqlhot,mysql自带; 3、你的表有innodb,访问量少,可以考虑mysqlmp,mysql自带; 4、你的表有innodb,访问量大,可以考虑xtrabackup,第三方软件,自行度娘; 5、你的表访问量极大,要求高可用,那你要请DBA定制了;
Ⅶ 怎么linux下定时备份mysql数据库备份
1、查看磁盘空间情况:
既然是定时备份,就要选择一个空间充足的磁盘空间,避免出现因空间不足导致备份失败,数据丢失的恶果!
存储到当前磁盘这是最简单,却是最不推荐的;服务器有多块硬盘,最好是把备份存放到另一块硬盘上;有条件就选择更好更安全的存储介质;
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root 50G 46G 1.6G 97% /
tmpfs 1.9G 92K 1.9G 1% /dev/shm
/dev/sda1 485M 39M 421M 9% /boot
/dev/mapper/VolGroup-lv_home 534G 3.6G 503G 1% /home123456123456
2、创建备份目录:
上面我们使用命令看出/home下空间比较充足,所以可以考虑在/home保存备份文件;
cd /home
mkdir backup
cd backup123123
3、创建备份Shell脚本:
注意把以下命令中的DatabaseName换为实际的数据库名称;
当然,你也可以使用其实的命名规则!
vi bkDatabaseName.sh11
输入/粘贴以下内容:
#!/bin/bash
mysqlmp -uusername -ppassword DatabaseName > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql1212
对备份进行压缩:
#!/bin/bash
mysqlmp -uusername -ppassword DatabaseName | gzip > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql.gz1212
注意:
把 username 替换为实际的用户名;
把 password 替换为实际的密码;
把 DatabaseName 替换为实际的数据库名;
4、添加可执行权限:
chmod u+x bkDatabaseName.sh11
添加可执行权限之后先执行一下,看看脚本有没有错误,能不能正常使用;
./bkDatabaseName.sh11
5、添加计划任务
检测或安装 crontab
确认crontab是否安装:
执行 crontab 命令如果报 command not found,就表明没有安装
# crontab
-bash: crontab: command not found
Ⅷ Linux下mysql数据库如何定期备份与删除
首先,创建备份文件夹mkdir /mysql/mysqldata_bakeup;创建并编辑文件在路径 /usr/sbin/bakmysql,命令:vi /usr/sbin/bakmysql。此时会在/usr/sbin/路径下创建bakmysql文件,并进入bakmysql编辑状态,接着输入;fn = ` date +%Y%m%d ` tar zcvf /mysql/mysqldata_bakeup/mysql$fn.tar.gz /mysql/data 然后修改文件bakmysql属性,使其可执行chmod +x /usr/sbin/bakmysql 修改/etc/crontab vi /etc/crontab 进入编辑状态,在最下面添加:01 3 * * * root /usr/sbin/bakmysql
01 3 是每天凌晨3:01执行 bakmysql文件;懂了吗?
Ⅸ mysql 在linux下如何进行指定的数据库定时备份与删除XX天以前的备份文件
利用mysql提供的mysqlmp进行全量备份,利用二进制进行增量备份,利用主从结构利用从服务器进行备份等等,开自己怎么用了