创建一个存放备份数据的路径

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

svn数据库自动备份脚本的更多相关文章

  1. mysql5.7 数据库自动备份脚本

    新建备份目录 mkdir /backups mkdir /backups/mysql 新建存放备份脚本目录 mkdir /data/scripts 备份脚本: mysql_backup.sh ==== ...

  2. oracle数据库自动备份脚本

    ::通过exp命令导出远程机器(192.168.2.1)上指定服务(orcl)指定用户(pmis)及密码(pmis)的数据 ::运行该脚本的机器必须安装oracle @echo off @echo [ ...

  3. mysql数据库自动备份脚本

    #!/bin/bash #功能说明:本功能用于备份mysql数据库 #编写日期:2018/05/17 PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin ...

  4. sqlserver2008R2数据库自动备份脚本

    CREATE proc [dbo].[usp_autoBackupDB] @dbname sysname=null --要备份的数据库名,不指定即为全部备份 ,)='d:\' --备份目录路径 ,)= ...

  5. Windows环境下Oracle数据库的自动备份脚本

    批处理文件(.bat) @echo off echo ================================================ echo  Windows环境下Oracle数据 ...

  6. Windows下Oracle数据库自动备份批处理脚本

    expdb命令版本 @echo off REM ########################################################### REM # Windows Se ...

  7. Oracle数据库的自动备份脚本

    @echo off echo ================================================ echo Windows环境下Oracle数据库的自动备份脚本 echo ...

  8. Windows环境下Oracle数据库的自动备份脚本自动删除30天前的备份

    @echo off echo ================================================ echo Windows环境下Oracle数据库的自动备份脚本 echo ...

  9. Oracle自动备份脚本(网上找到的资料)

    废话不多说了,直接给大家贴代码了,具体代码如下所示: ? 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 ...

随机推荐

  1. A1071. Speech Patterns

    People often have a preference among synonyms of the same word. For example, some may prefer "t ...

  2. 出现“java.lang.AssertionError: SAM dictionaries are not the same”报错

    运行一下程序时出现“java.lang.AssertionError: SAM dictionaries are not the same”报错 java -jar picard.jar SortVc ...

  3. operator new,new operator,placement new的区别

    原文地址:http://www.cnblogs.com/jamesmile/archive/2010/04/17/1714311.html,在此感谢 C++中的operator new与new ope ...

  4. (reverse) Text Reverse hdu1062

    Text Reverse Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Tot ...

  5. 使用LTP套件对Linux系统进行压力测试

    使用LTP套件对Linux系统进行压力测试 https://www.ubuntukylin.com/ukylin/forum.php?mod=viewthread&tid=6764 https ...

  6. 函数和常用模块【day06】:subprocess模块(十)

    本节内容 1.概述 2.前言 3.subprocess模块 4.subprocess.Popen() 一.概述 我们在实际的工作中,需要跟操作系统的命令做交互,但我们如何用python去跟操作系统之间 ...

  7. 怎么看SQL表里某列是否是自增列

    开启或关闭自增列 SET IDENTITY_INSERT 表名 ON/OFF 1.语句 Select OBJECTPROPERTY(OBJECT_ID('表名'),'TableHasIdentity' ...

  8. mysql -- 索引补充

    .unique索引补充:联合唯一 unique(name,email)是name和email这两列联合起来唯一,不再试某个字段唯一 .主键索引,类似唯一索引,也是允许联合多个字段作为主键,例如:pri ...

  9. maven的隔离部署

    场景:比如说我们一个项目,在开发的时候是一套配置文件,在发布的时候又是一套配置文件.我们每次都要修改配置文件很烦有木有.所以,我们需要maven的这样的一个功能,就是隔离部署.就是说我们写好几套配置文 ...

  10. C++面试集锦( 面试被问到的问题 )

    1. C 和 C++ 区别 2. const 有什么用途     主要有三点: 1:定义只读变量,即常量 2:修饰函数的参数和函数的返回值 3: 修饰函数的定义体,这里的函数为类的成员函数,被cons ...