脚本要求:
编写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
求采纳为满意回答。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)