脚本作用

定时备份网站/home/www/htdocs/blog/home/www/backup/site-blog下,
并删除10天前的备份。

创建脚本

1
vi /home/www/shell/site_backup_blog.sh

脚本内容

 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
#!/bin/bash
############### common file ################
#备份文件存放目录
WEBBACK_DIR="/home/www/backup/site-blog"
#格式化日期,备份文件时用日期来做文件名的
DATE=`date +%Y%m%d-%H%M%S`
#保存日期
DAYS=10
############ www info ######################
#WEB目录
WEBSITE_DIR="/home/www/htdocs/blog"

# 排除某些目录(日志和缓存),exclude.txt文件中写入
#/home/www/htdocs/blog/runtime
#/home/www/htdocs/blog/logs
#指定www备份文件的前缀
WEBSITE_PREFIX=web-blog-

# 判断备份目录是否存在,不存在则创建
if [ ! -d "$WEBBACK_DIR" ];then
mkdir -p $WEBBACK_DIR
fi

#开始备份网站目录,备份过程同上
tar zcvf ${WEBBACK_DIR}/${WEBSITE_PREFIX}${DATE}.tar.gz ${WEBSITE_DIR} -X /home/www/shell/exclude.txt

#只保留指定时间内的文件
find ${WEBBACK_DIR} -name "$WEBSITE_PREFIX*" -type f -mtime +${DAYS} -exec rm {} \;

设置执行权限

1
chmod 700 /home/www/shell/site_backup_blog.sh

设置定时任务

crontab -e

文件内容:

1
3 4 * * * /home/www/shell/site_backup_blog.sh

每天凌晨4:03分开始执行备份任务。