svn数据库自动备份脚本 -凯发k8官方网
凯发k8官方网
收集整理的这篇文章主要介绍了
svn数据库自动备份脚本
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
创建一个存放备份数据的路径
mkdir /data/svnbak -p
采用shell脚本的方式实现自动备份
#vim backup.sh
#!/bin/bash
log="/data/svnbak/last_add_backed_up.log" # 添加日志文件,打印开始结束时间,方便查看执行时间
echo "********************"backup start time: `date -d today "%y-%m-%d %t"`"***************">> $log
cd /data/svnbak
mkdir `date %f`
chmod 755 `date %f`
cd `date %f`
ls -l /home/svn-repos | awk '$1~"d"{print$8}' > list #注:/home/svn-repos是svn数据库的路径
for i in `cat list`
do
mkdir /data/svnbak/`date %f`/$i #注:在另一个路径下创建与数据库相同的目录
done
srcpath=/home/svn-repos #定义仓库路径
distpath=/data/svnbak/`date %f` #定义备份数据存放的路径;
echo $distpath
cat $distpath/list | while read filename
do
svnadmin hotcopy $srcpath/$filename $distpath/$filename --clean-logs #注:此处使用hotcopy开始备份
done
echo "-------------------backup end time: \"`date -d today \"%y-%m-%d %t\"`\"-------------------" >> $log
chown www-data.www-data $distpath -r #注:备份之后修改成与原数据库相同的权限
#删除10天前的备份
basedir=/data/svnbak/ #备份的路径
old_day=`date %f -d"-10 days"`
filename=$basedir/$old_day
rm -rf $filename
可以把这个脚本添加到计划任务中,实现每个星期六的凌晨1点01分周期性的自动备份,如下内容所示:
crontab -e
01 01 * * 6 /bin/bash /root/backup.sh
mkdir /data/svnbak -p
采用shell脚本的方式实现自动备份
#vim backup.sh
#!/bin/bash
log="/data/svnbak/last_add_backed_up.log" # 添加日志文件,打印开始结束时间,方便查看执行时间
echo "********************"backup start time: `date -d today "%y-%m-%d %t"`"***************">> $log
cd /data/svnbak
mkdir `date %f`
chmod 755 `date %f`
cd `date %f`
ls -l /home/svn-repos | awk '$1~"d"{print$8}' > list #注:/home/svn-repos是svn数据库的路径
for i in `cat list`
do
mkdir /data/svnbak/`date %f`/$i #注:在另一个路径下创建与数据库相同的目录
done
srcpath=/home/svn-repos #定义仓库路径
distpath=/data/svnbak/`date %f` #定义备份数据存放的路径;
echo $distpath
cat $distpath/list | while read filename
do
svnadmin hotcopy $srcpath/$filename $distpath/$filename --clean-logs #注:此处使用hotcopy开始备份
done
echo "-------------------backup end time: \"`date -d today \"%y-%m-%d %t\"`\"-------------------" >> $log
chown www-data.www-data $distpath -r #注:备份之后修改成与原数据库相同的权限
#删除10天前的备份
basedir=/data/svnbak/ #备份的路径
old_day=`date %f -d"-10 days"`
filename=$basedir/$old_day
rm -rf $filename
可以把这个脚本添加到计划任务中,实现每个星期六的凌晨1点01分周期性的自动备份,如下内容所示:
crontab -e
01 01 * * 6 /bin/bash /root/backup.sh
转载于:https://www.cnblogs.com/reblue520/p/6239751.html
与50位技术专家面对面20年技术见证,附赠技术全景图总结
以上是凯发k8官方网为你收集整理的svn数据库自动备份脚本的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇:
- 下一篇: 有趣的javascript原生数组函数