linux下mysql自动备份数据库与自动删除临时文件

发布网友 发布时间:2022-04-22 10:07

我来回答

2个回答

懂视网 时间:2022-04-30 06:40

技术分享转载▼

标签: 

杂谈

 
一、用命令实现备份

首页进入mysql的bin目录

1、备份数据
#mysqldump -uusername -ppassword discuz > discuz_2010-04-01.sql

这样就把discuz数据库所有的表结构和数据备份到discuz_2010-04-01.sql里了,
如果数据量大会占用很大空间,这时可以利用gzip压缩数据,

命令如下:
#mysqldump -uusername -ppassword discuz | gzip > discuz_2010-04-01.sql.gz

系统崩溃,重建系统时,可以这样恢复数据:

#mysql -uusername -ppassword discuz < discuz_2010-04-01.sql

从压缩文件直接恢复:

#gzip < discuz_2010-04-01.sql.gz | mysql -uusername -ppassword discuz

二、利用crontab,系统每天定时备份mysql数据库

1、创建保存备份文件的路径/mysqldata
#mkdir /mysqldata

2、创建/usr/sbin/bakmysql文件
输入以下内容:
mysqldump -umysql -p51uptry uptry | gzip > /mysqldata/uptry`date +%Y-%m-%d_%H%M%S`.sql.gz

3、修改文件属性,使其可以执行
#chmod +x /usr/sbin/bakmysql

4、修改/etc/crontab
在下面添加
01 3 * * * root /usr/sbin/bakmysql
表示每天3点钟执行备份 crontab使用说明

5、重新启动crond
#/etc/rc.d/init.d/crond restart
完成。

三、数据的恢复

首页进入mysql的bin目录
创建数据库
#mysqladmin create discuz
恢复数据
#mysql discuz < /mysqldata/discuz_2010-04-01.sql

linux下mysql定时备份数据库

标签:

热心网友 时间:2022-04-30 03:48

一、每日23:00自动删除临时文件
首先查看一下crontab的任务列表:
crontab
-l
然后新建:
crontab
-e
添加一行:
00
03
*
*
*
rm
-rf
/www/cmstest/my120/public/scripts/jpgraph/*
保存退出。
重启服务:
/etc/rc.d/init.d/crond
restart
二、每日24:00自动备份数据库
利用系统crontab来定时执行备份文件,按日期对备份结果进行保存,达到备份的目的。
1、创建保存备份文件的路径/mysqldata
#mkdir
/mysqldata
2、创建/usr/sbin/bakmysql文件
查找数据库库文件的路径:
一般都是:/var/lib/mysql,或者,/usr/local/mysql/var
查找方法:
1、/usr/local/mysql/bin/mysql
-u
root
-p
进入数据库
2、输入:show
databases;
3、这是可以查看到所有的数据库,然后
4、find
/
-name
db(你想查找的数据库名)
之后:#vi
/usr/sbin/bakmysql
输入
复制代码
代码如下:
rq=`
date
+%Y%m%d
`
tar
zcvf
/mysqldata/mysql$rq.tar.gz
/var/lib/mysql
3、修改文件属性,使其可执行
#
chmod
+x
/usr/sbin/bakmysql
新建任务:
首先查看一下crontab的任务列表:
crontab
-l
然后新建:
crontab
-e
添加一行
00
04
*
*
*
/usr/sbin/bakmysql
表示每天24点钟执行备份
4、重新启动crond
#
/etc/rc.d/init.d/crond
restart
此后每天就可以在/mysqldata中看到类似下的文件了:mysql20040619.tar.gz。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com