Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4160901
  • 博文数量: 240
  • 博客积分: 11504
  • 博客等级: 上将
  • 技术积分: 4277
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-28 14:24
文章分类

全部博文(240)

分类: Mysql/postgreSQL

2008-01-29 17:33:02

数据库的备份脚本。
 
http://blog.chinaunix.net/u/29134/showart_464801.html


这个脚本来配合原来的备份脚本做善后工作,只保留最新三天内的备份。

文件名称示例:

[root@mysql131-3 backup]# ls -sihl
total 1.2G
11075627 4.0M -rw-r--r-- 1 root root 4.0M Jan 27 01:00 backup_bbs20080127_010001.sql.gz
14843905 4.0M -rw-r--r-- 1 root root 4.0M Jan 28 01:00 backup_bbs20080128_010001.sql.gz
11075601 4.0M -rw-r--r-- 1 root root 4.0M Jan 29 01:00 backup_bbs20080129_010001.sql.gz
11075629  44K -rw-r--r-- 1 root root  39K Jan 27 01:00 backup_cms20080127_010001.sql.gz
14843908  44K -rw-r--r-- 1 root root  39K Jan 28 01:00 backup_cms20080128_010001.sql.gz
11075608  44K -rw-r--r-- 1 root root  39K Jan 29 01:00 backup_cms20080129_010001.sql.gz
11075628 403M -rw-r--r-- 1 root root 403M Jan 27 01:00 backup_site20080127_010001.sql.gz
14843906 403M -rw-r--r-- 1 root root 403M Jan 28 01:00 backup_site20080128_010001.sql.gz
11075602 403M -rw-r--r-- 1 root root 403M Jan 29 01:00 backup_site20080129_010001.sql.gz


脚本内容:

#!/bin/sh

#

# Created by david yeung 20080129.

#

# Delete overdue mysql backup file.

#

# Directory to list.

DIRNAME=/home/david_yeung/backup/
# Get the date part.

ARR1=`ls $DIRNAME | cut -d '_' -f3`
# Get three day ago.

CUR_DATE=`date +'%Y%m%d' -d '-3 day'`
# Delete the overdue file.

for CUR_FILENAME in $ARR1
do
  RESULT=`echo $CUR_FILENAME | tr -d "[a-z]"`
  if [ "$RESULT" -le "$CUR_DATE" ]
  then
    rm -rf `echo "${DIRNAME}backup_${CUR_FILENAME}_010001.sql.gz"`
  fi
done

阅读(3151) | 评论(2) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2008-11-28 11:59:10

直接用find命令不是更好吗?

骑着蚂蚁过街2008-02-19 10:46:50

是配合原来那个的备份脚本做善后工作的。备份的脚本是那? 只保留3天内的备份的脚本怎么写的!