请教linux定时执行数据库备份脚本的问题

请教linux定时执行数据库备份脚本的问题,第1张

把以前写的一个发你看看

脚本要求:

编写shell脚本,每天凌晨1点备份td_oa库,到mysql-back目录,并将备份文件压缩,压缩名称为备份的日期,只保留连续七天的备份文件

#!/bin/bash

/usr/local/mysql/bin/mysqldump

-uroot

-p123456

td_oa

>

td_oa.sql

&>/dev/null

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

自己根据自己的要求修改!

每天定时备份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

1、比如每天产生一个/data/access.log这样的文件,我们每天备份到backup目录的access_2011-01-12.log.gz这样的文件。

2、增加计划任务

export

EDITOR=vi

crontab

-e

0

0

*

*

*

/data/bak.sh

3、bak.sh文件内容如下:

cat

/data/bak.sh

#!/bin/bash

logs_dir=/data

bak_dir=/data/backup

bak_file=access_`date

+%Y%m%d`.log

#

tar

everyday

#echo

"begining

of

tar"

tar

zcf

$bak_dir/$bak_file.gz

$logs_dir/access.log

#

clear

bak_file

#echo

"clearing

file.log"

find

$bak_dir

-mtime

+7

-exec

rm

-rf

{}

\

#end

求采纳为满意回答。


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

原文地址: https://outofmemory.cn/sjk/9925390.html

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

发表评论

登录后才能评论

评论列表(0条)

保存