使用svn做文件备份配置

2025-10-28 03:32:50

1、#在备份服务器上创建svn 库

svnserve -d -r 目录 启动SVN

svnadmin create SVNROOT;

SVNROOT/conf/authz 配置帐号权限

SVNROOT/conf/passwd 配置密码

SVNROOT/conf/svnserve.conf  配置验证

如需要迁移SVN

No.1 将准备要迁移的仓库导出 命令: svnadmin dump 仓库名 > svn_dump

No.2 在新的服务器上创建新的仓库 命令: svnadmin create SVNROOT

No.3 导入刚导出的文件svn_dump 命令: svnadmin load SVNROOT < svn_dump

2、创建备份脚本

#!/bin/sh

echo "==========Backup began at:"

date

shPath="$(dirname "$0")"

bkRoot=$shPath/../restricted

dbPath=$bkRoot/dbbak

dbName=$1

password=$2

mkdir -p $dbPath

/usr/bin/mysqldump  -h 127.0.0.1 -u root -p密码 --databases $dbName  --default-character-set=latin1 --opt --single-transaction --character_sets_dir=/usr/share

/mysql/charsets/ -c  --set-charset --hex-blob --skip-dump-date -r$dbPath/full_data.sql

svn --username svn用户名 --password $password  --non-interactive add -q --depth infinity --parents $bkRoot/*

svn --username svn用户名 --password $password  --non-interactive status --depth infinity $bkRoot | grep ?| cut -c 9- | xargs --no-run-if-empty svn --username hqouc --pass

word $password  --non-interactive add --depth infinity --parents

svn --username svn用户名 --password $password  --non-interactive ci --depth infinity -m "" $bkRoot

svn --username svn用户名 --password $password  --non-interactive status --depth infinity $bkRoot | grep ! | cut -c 9- | xargs --no-run-if-empty svn --username hqouc --pas

sword $password  --non-interactive delete

svn --username svn用户名 --password $password  --non-interactive ci --depth infinity -m "" $bkRoot

echo "===========Backup ended at:"

date

另存为 backup.sh  并为此脚本添加可执行权限

将上面的 svn用户名 替换为你自己的  svn 用户

bkRoot 为需要备份的目录

dbPath 为数据库目录

3、在要备份的restricted目录下检出 SVN 备份的版本

并添加计划任务来实现自动备份

crontab -e

添加这一行:

1   4  * * *    /你的脚本实际存放位置/backup.sh database svnpwd >> /backup.log  2>&1

#每天4:1分执行一次备份,并将日志输入到 /backup.log 中

其中

.../backup.sh database svnpwd 第一个参数为数据库名,第二个为SVN密码

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢