分享elain.org 数据备份脚本

随着博客数据慢慢增加,今抽空写了一个小脚本,对网站做定时备份,自动发邮件到我邮箱。顺便放出来与大家分享!

下图脚本运行结果:

脚本代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#!/bin/bash

#Author  :elain

#Ctime   :20110320


Bak_Dir=/home/elain/backup/

Www_Dir=/www/htdocs/elain

LogFile=/var/log/elain.log

Bak_Data=/home/elain/backup/data/blog_`date +%Y%m%d`.sql.gz

Bak_www=/home/elain/backup/www/elain`date +%Y%m%d`.tar.gz

MailList=dtmlove1985@sina.com


# Info   : 每周备份一次elain.org数据库

/usr/local/mysql/bin/mysqldump -uroot elain -B|gzip $Bak_Data


#sleep 300


# Info   : 每周打包一次elain.org

/bin/tar zcPvf $Bak_www  $Www_Dir  >/dev/null 2>&1


# Info   : 邮件正文

echo -e "==========`date +%Y年%m月%d日` elain.org 备份数据==========" >$LogFile

echo -e "数据库备份文件:\nblog_`date +%Y%m%d`.sql.gz \n大小:`du -sh $Bak_Data |awk '{print $1}'`" >>$LogFile

echo -e "网站程序备份文件:\nelain`date +%Y%m%d`.tar.gz \n大小:`du -sh $Bak_www |awk '{print $1}'`" >>$LogFile

echo -e "==============by:elain www.elain.org=================\n详情参见附件!" >>$LogFile


# Info   : 发送邮件

/usr/bin/mutt -s "`date +%Y年%m月%d日` elain.org 备份数据" $MailList -a $Bak_Data -a $Bak_www < $LogFile


# Info   : 删除一个月前的备份

find $Bak_Dir -mtime +30 | xargs rm -rf

给予此脚本以执行权限
做定时任务
[root@blog scripts]# crontab -l

1
2
3
4
5
6
7
# Info   : 每周备份elain.org

# Author : dingtm

# Ctime : 2011.03.20

00 6 * * 6 /bin/sh /home/elain/scripts/bak.sh

文章目录
,