当前位置:首页 » 操作系统 » linuxmysql定时备份

linuxmysql定时备份

发布时间: 2024-08-13 04:36:33

⑴ 如何在linux服务器中备份

linux系统下使用脚本定时备份数据库,代码如下:
#!/bin/bash
#Setting
#设置数据库名,数据库登录名,密码,备份路径,日志路径,数据文件位置,以及备份方式
#默认情况下备份方式是mysqlmp,还可以是mysqlmp,mysqldot,如果注释掉第
#18行,则默认以tag的方式备份
#默认情况下,用root(空)登录mysql数据库,备份至/root/dbxxxxx.tgz
DBName=mysql
DBUser=root
DBPasswd=123456
BackupPath=/home/wang/www/backup/mysql/mysqlbackup
LogFile=/home/wang/www/backup/mysql/db.log
DBPath=/var/lib/mysql/
#BackupMethod=mysqlmp
#BackupMethod=mysqlhot
#BackupMethod=tar
#Setting End
NewFile="$BackupPath"db$(date +%y%m%d).tgz
DumpFile="$BackupPath"db$(date +%y%m%d)
OldFile="$BackupPath"db$(date +%y%m%d --date='5 days ago').tgz
echo "-------------------------------------------" >> $LogFile
echo $(date +"%y-%m-%d %H:%M:%S") >> $LogFile
echo "--------------------------" >> $LogFile
#Delete Old File
if [ -f $OldFile ]
then
rm -f $OldFile >> $LogFile 2>&1
echo "[$OldFile]Delete Old File Success!" >> $LogFile
else
echo "[$OldFile]No Old Backup File!" >> $LogFile
fi
if [ -f $NewFile ]
then
echo "[$NewFile]The Backup File is exists,Can’t Backup!" >> $LogFile
else
case $BackupMethod in
mysqlmp*)
if [ -z $DBPasswd ]
then
mysqlmp -u $DBUser --opt $DBName > $DumpFile
else
mysqlmp -u $DBUser -p$DBPasswd --opt $DBName > $DumpFile
fi
tar czvf $NewFile $DumpFile >> $LogFile 2>&1
echo "[$NewFile]Backup Success!" >> $LogFile
rm -rf $DumpFile
;;
mysqlhot*)
rm -rf $DumpFile
mkdir $DumpFile
if [ -z $DBPasswd ]
then
mysqlhot -u $DBUser $DBName $DumpFile >> $LogFile 2>&1
else
mysqlhot -u $DBUser -p $DBPasswd $DBName $DumpFile >>$LogFile 2>&1
fi
tar czvf $NewFile $DumpFile >> $LogFile 2>&1
echo "[$NewFile]Backup Success!" >> $LogFile
rm -rf $DumpFile
;;
*)
/etc/init.d/mysqld stop >/dev/null 2>&1
tar czvf $NewFile $DBPath >> $LogFile 2>&1
/etc/init.d/mysqld start >/dev/null 2>&1
echo "[$NewFile]Backup Success!" >> $LogFile
;;
esac
fi
echo "-------------------------------------------"
echo
#lftp -f lftp.sh 如果有FTP可同时上传ftp中。
再利用crontab命令生成/var/spool/cron/root 文件:
#crontab –e
//打开一个编辑窗口,第一行会有内容格式的提示,在此输入命令
//m h dom mon dow command
//具体意义表示:分钟 小时 日期 月份 星期 命令,在某月(mon)的某天(dom)或者星期几(dow)的几点(h,24小时制)几分(m)执行某个命令(command)
//如: 10 02 * * * /home/backup/autobackupmysql.sh (表示零晨二点十分执行备份脚本)

⑵ 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语句是判断脚本是否执行成功 好吧 如果有什么不明白的再问我吧

⑶ 请问mysql怎么自动备份数据库

数据库的自动备份,可以减轻维护者的工作量也便于系统恢复,对于比较重要的数据库,最好还是设置下自动备份。

工具/原料



navicat for mysql

mysql 5.5

方法/步骤

  1. 打开navicat客户端,连上mysql后,双击左边你想要备份的数据库。点击“计划”,再点击“新建批处理作业”。


⑷ linux计划任务(自动化执行任务的利器)

Linux计划任务是一种自动化执行任务的工具,它可以在指定的时间间隔内执行特定的任务,例如备份文件、清理日志、发送邮件等。Linux计划任务是Linux系统中非常重要的工具之一,它可以帮助我们自动化完成许多重复性的工作,提高工作效率。

Linux计划任务的使用方法

在Linux系统中,我们可以使用crontab命令来管理计划任务。crontab命令可以让我们创建、编辑、查看和删除计划任务。下面是一些常用的crontab命令:

-crontab-e:编辑当前用户的计划任务;

-crontab-l:列出当前用户的计划任务;

-crontab-r:删除当前用户的所有计划任务。

在编辑计划任务时,我们需要使用特定的语法来指定任务的执行时间和要执行的命令。下面是一个示例:

```

00***/usr/bin/backup.sh

```

这个示例表示在每天的0点0分执行/usr/bin/backup.sh脚本。其中,星号(*)表示任意值,可以用来表示所有的时间单位。例如,星号在小时的位置表示每小时都会执行该任务。除了星号之外,我们还可以使用数字、逗号、减号等符号来指定具体的时间。例如:

-0:表示整点;

-*/5:表示每隔5个时间单位执行一次;

-1,3,5:表示在1、3、5这三个时间单位执行一次;

-1-5:表示在1到5这个时间段内每个时间单位都执行一次。

实际应用案例

下面是一个实际应用案例,我们将使用Linux计划任务来定时备份MySQL数据库。

首先,我们需要创建一个备份脚本,例如backup_mysql.sh:

```

!/bin/bash

DATE=`date+%Y%m%d`

mysqlmp-uroot-p123456--all-databases>/var/backup/mysql_$DATE.sql

```

这个脚本会使用mysqlmp命令备份所有的MySQL数据库,并将备份文件保存到/var/backup目录下,文件名为mysql_日期.sql。

接下来,我们使用crontab命令来创建一个计划任务,每天凌晨1点执行备份脚本:

```

crontab-e

```

在编辑模式下,添加以下内容:

```

01***/bin/bash/usr/local/bin/backup_mysql.sh

```

保存并退出编辑模式。现在,我们已经成功创建了一个每天凌晨1点执行备份脚本的计划任务。

⑸ 如何在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

⑹ 如何实现MySQL的自动备份

一般在Linux服务器上,都是自己写自动化脚本,然后再加入定时任务即可。
现在备份一般都使用xtrabackup了,是percona出品的。
你也可以参考下官网的工具是如何备份的。
https://dev.mysql.com/doc/refman/5.6/en/backup-and-recovery.html
在这上www.linuxprobe.com/chapter-04.html可以看看如何写脚本。

热点内容
视频压缩安卓 发布:2024-11-25 13:02:18 浏览:341
当贝上传应用 发布:2024-11-25 13:01:23 浏览:272
中国联通湖北服务器地址 发布:2024-11-25 13:00:38 浏览:747
访问内网计算机 发布:2024-11-25 12:37:53 浏览:969
苹果文件夹名字大全 发布:2024-11-25 12:28:03 浏览:590
ipad上b站缓存分屏 发布:2024-11-25 12:27:59 浏览:981
数据库日志文件查看 发布:2024-11-25 12:17:28 浏览:48
腾讯视频明明缓存了看不了 发布:2024-11-25 12:08:01 浏览:182
存储区域网络分布 发布:2024-11-25 12:07:12 浏览:389
安卓怎么用汤不热 发布:2024-11-25 11:49:06 浏览:844