date_time:备份时间
backup_dir:备份到那个目录
backup_log:备份成功的log文件
err_log:备份失败的log文件
注意:
1、备份前,先cd到目标目录所在的父目录,然后执行zip命令。
2、log文件不要放在存放备份数据的目录,因为最后一条命令是删除15以前的文件,会将log文件删掉
脚本如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
#!/bin/bash
date_time=`
date
+
"%Y%m%d%H%M"
`
backup_dir=
/data/backup/svn_backup
backup_log=
/data/backup/svn_backup_logs/backup
.log
err_log=
/data/backup/svn_backup_logs/err
.log
echo
-e
"\033[33m--------------------------------------\033[0m"
>> ${backup_log}
echo
-e `
date
+
"%Y-%m-%d %H:%M"
` >> ${backup_log}
echo
-e
"Starts backing up openvpn...."
>> ${backup_log}
cd
/opt
zip -r ${backup_dir}
/vpn_
${date_time}.zip svn 1>
/dev/null
2>>${err_log}
if
[
"$?"
-
ne
0 ];
then
echo
-e
"\033[31svn backup failed!\033[0m"
>> ${backup_log}
echo
-e
"\033[33m--------------------------------------\033[0m"
>> ${backup_log}
echo
-e
"\n"
>> ${backup_log}
echo
-e
"at ${date_time} packaged svn file error"
>> ${err_log}
echo
-e
"\n"
>> ${err_log}
exit
1
else
echo
-e
"\033[32msvn backup success!\033[0m"
>> ${backup_log}
echo
-e
"\033[33m--------------------------------------\033[0m"
>> ${backup_log}
echo
-e
"\n"
>> ${backup_log}
fi
find
${backup_dir}/* -
type
f -atime +15 -
exec
rm
-rf {} \;
|
本文转自 曾哥最爱 51CTO博客,原文链接:http://blog.51cto.com/zengestudy/1793353,如需转载请自行联系原作者