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,如需转载请自行联系原作者