svn定时备份脚本

参考:https://www.cnblogs.com/yadongliang/p/9297058.html

以下脚本可直接拿去用,待完善(删除定时备份)

@echo off
:: 关闭回显

:: 说明:如有命令不明白,请使用帮助命令:命令/? 。如:for/?

:: 设置标题
title SVNBackup

rem Set Variable

:: SVN_HOME svn程序的安装路径,指定到bin目录上一级。(如果路径有空格,请用""。)
set SVN_HOME="C:\Program Files\VisualSVN Server"
:: SVN库的路径
set SVN_ROOT=F:\Repositories
:: 备份SVN父目录的路径
set SVN_BACKUP_ROOT=F:\SVN_backup
:: 获取当前系统日期和时间用来创建目录,格式:年月日_时分秒毫秒。如:20131129_16275274
set TIME_DIR=%date:~,4%%date:~5,2%%date:~8,2%%time:~,2%%time:~3,2%%time:~6,2%%time:~9,2%
:: SVN备份子目录的路径
set BACKUP_DIRECTORY=%SVN_BACKUP_ROOT%\%TIME_DIR%
:: 日志文件路径(将日志和备份文件放在一个目录,删除时一起删除了)
set LOG=%BACKUP_DIRECTORY%\backup.log
:: 指定备份文件删除时间(单位:天)。0 - 32768 范围内的任何数字。
set NUM=365

rem Start backup SVN

:: 判断SVN程序是否存在
if not exist %SVN_HOME% goto error

goto start

:start
:: 查询日志大小(单位:字节),超过1Mb就新建一个 (日志放入备份目录后,此语句无效。仅备份!)
:: for /r %SVN_BACKUP_ROOT% %%I in (backup.log) do if %%~zI GEQ 1048576 ren %LOG% backup_%TIME%.log
:: 判断目录是否存在,存在则不备份
if exist %BACKUP_DIRECTORY% (
rem backup is exist
@echo %BACKUP_DIRECTORY% is exist. >>%LOG%
goto end
)
:: 新建目录
mkdir %BACKUP_DIRECTORY%
:: 建立日志
@echo [info]%date:~,10% %time:~,2%:%time:~3,2%:%time:~6,2%Create a backup directory: %BACKUP_DIRECTORY% >>%LOG%
:: 备份SVN版本库并输出日志到文件
for /d %%i in (%SVN_ROOT%\*) do (
@echo Backup %%~ni repository,backup filename: %%~ni.dmp >>%LOG%
:: 完整备份(增量备份在dump后面添加参数 --incremental)
%SVN_HOME%\bin\svnadmin dump %SVN_ROOT%\%%~ni >%BACKUP_DIRECTORY%\%%~ni.dmp 2>>%LOG%
)
:: 输出备份命令退出码,用来判断是否备份成功。成功的退出码为0.
@echo [info]%date:~,10% %time:~,2%:%time:~3,2%:%time:~6,2%exit_code:%errorlevel%>>%LOG%
goto end

:end
:: 输出一行空行分割日志
rem End backup SVN
@echo success backup >>%LOG%
exit
:: 调试脚本用的命令
:: at 16:06 %~f0
:: PAUSE
:: exit

原文地址:https://www.cnblogs.com/wanggang2016/p/11775078.html

时间: 2024-10-17 21:07:20

svn定时备份脚本的相关文章

Linux中SVN定时备份总结

Linux中SVNserver定时备份总结: 本片文章主要是结合前面关于<Linux搭建SVNserver总结>,来说明怎样在Linux下定时备份SVNserver,防止个别情况导致数据丢失的严重后果. 那么实现的流程大致为:我们须要新建一个备份sh脚本,然后使用contab定时运行前面的脚本.以及模拟验证下是否成功,所以还是比較简单的. PS: 至于contab的具体介绍会在兴许总结中列出.在此仅仅需按此操作就可以. <Linux搭建SVNserver总结>地址: http://

linux下SVN定时备份并删除历史备份

利用svnadmin hotcopy可以实现完全备份,但不能进行增量备份.svnadmin hotcopy是将整个库都"热"拷贝一份出来,包括库的钩子脚本.配置文件等:任何时候运行这个脚本都得到一个版本库的安全拷贝,不管是否有其他进程正在使用版本库. 优点是:备份过程较快,灾难恢复也很快:如果备份机上已经搭建了svn服务,甚至不需要恢复,只需要进行简单配置即可切换到备份库上工作. 缺点是:比较耗费硬盘,需要有较大的硬盘支持.在/data/svnbackup目录建立备份脚本svnbak.

LINUX环境MySQL定时备份脚本

(0)备份目标备份:tel数据库目录:/mysqlbackup/策略:每天3点 (1)创建一个备份用户,用户名未backup 密码backupmysql>grant all on tel. to 'backup'@'localhost' identified by "backup"; 提供更小的权限:mysql>grant select,show view,lock tables,trigger on tel. to 'backup'@'localhost' identif

MySql定时备份脚本

今天数据库有挂了,真心伤不起!又花了一下午时间学习写了一个定时保存数据的脚本文件,所以记录一下! 1,每天4点备份mysql数据: 2,为节省空间,删除超过3个月的所有备份数据: 3,删除超过7天的备份数据,保留3个月里的 10号 20号 30号的备份数据: [[email protected] ~]# cd data [[email protected] ~]# cd /data/dbdata [[email protected] dbdata]# vim backup_mysq.sh #输入

mysql线上一个定时备份脚本

mysql数据库远程备份的数据最好打包压缩 [[email protected] crontab]# pwd/Data/Mysql_Bakup/crontab[[email protected] crontab]# cat backup_db_wangshibo.sh#!/bin/bashMYSQL="/usr/bin/mysql"MYSQLDUMP="/usr/bin/mysqldump"BACKUP_DIR="/Data/Mysql_Bakup&quo

SVN自动备份脚本

#!/bin/sh##Subversion的安装目录及执行文件SVN_HOME=/usr/local/subversion/binSVN_ADMIN=$SVN_HOME/svnadminSVN_LOOK=$SVN_HOME/svnlook##配置库根目录SVN_REPOROOT=/zsvn/svnroot##备份文件存放路径date=$(date '+%Y%m%d')BAK_STORE=/zsvn/bakdump/$dateif [ ! -d "$BAK_STORE" ];thenmk

Oracle数据库定时备份脚本

一.编写脚本 vim /home/backup/oraclebk.sh #! /usr/bin #路径名,指定备份的路径 FILEPATH=/home/backup/oracledata #根据指定日期格式,定义备份数据库文件名 FILENAME=`date +"%Y%m%d_%H%M"` #切换至指定路径,并创建文件夹 cd $FILEPATH mkdir $FILENAME chmod 775 $FILENAME #oracle变量设置 export USER=oracle; ex

mysql数据库自动定时备份脚本

1.shell脚本如下: Now=$(date +"%d-%m-%Y") File=/tmp/mysqldump238CEM/MysqlDumpFile238CEM-$Now.sql echo "===备份开始===" echo "备份文件位于本地/tmp/mysqldump238CEM/" mysqldump -uroot -p'skieer#[email protected]' --all-databases > $File echo

mysql 定时备份脚本

@echo offchcp 936net stop mysqlset Y=%date:~0,4%set M=%date:~5,2%set D=%date:~8,2%set H=%time:~0,2%set Min=%time:~3,2%set Sec=%time:~6,2%set Time=%Y%%M%%D%_%H%%Min%%Sec%set Log=%Time%xcopy "C:\ProgramData\MySQL\MySQL Server 5.5\Data\gs_0126\*.*"