linux下mysql如何实现每天自动备份

linux下mysql如何实现每天自动备份,第1张

首先建立一个备份文件夹:mkdir

mysql_data_bak在建立一个脚本文件:touch

autobackupmysql.sh打开文件vi

autobackupmysql.sh在脚本中加入如下内容:filename=`date

+%Y%m%d`/usr/bin/mysqldump

-uroot

-proot

boss

/home/mysql_data_bak/$filename.sql检查有没安装crond,如果没有,先安装yum

-y

install

vixie-cronyum

-y

install

crontabs启动服务

:service

crond

start在CentOS系统中加入开机自动启动:

chkconfig

--level

345

crond

oncrontab

-e加入内容:00

03

*

*

*

source

/root/autobackupmysql.sh

每天凌晨3点运行此文件,对数据库进行备份

service

crond

restart到此linux下mysql实现没天自动备份完成。

既然是定时备份,就要选择一个空间充足的磁盘空间,避免出现因空间不足导致备份失败,数据丢失的恶果!

存储到当前磁盘这是最简单,却是最不推荐的;服务器有多块硬盘,最好是把备份存放到另一块硬盘上;有条件就选择更好更安全的存储介质;

# df -h

FilesystemSize 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% /home

每天定时备份mysql数据库任务,删除指定天数前的数据,保留指定天的数据;

需求:

1,每天4点备份mysql数据;

2,为节省空间,删除超过3个月的所有备份数据;

3,删除超过7天的备份数据,保留3个月里的

10号

20号

30号的备份数据;

#创建shell文件

vim

backup_mysql.sh

mysqldump

-uroot

-p123456

--all-databases

>

/data/dbdata/mysqlbak/`date

+%Y%m%d`.sql

find

/data/dbdata/mysqlbak/

-mtime

+7

-name

'*[1-9].sql'

-exec

rm

-rf

{}

\

find

/data/dbdata/mysqlbak/

-mtime

+92

-name

'*.sql'

-exec

rm

-rf

{}

\

#创建定时任务

crontab

–e

0

4

*

*

*

/data/dbdata/backup_mysql.sh


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8654982.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-19
下一篇2023-04-19

发表评论

登录后才能评论

评论列表(0条)

    保存