作者从毕业开始一直从事游戏开发,提供大量游戏实战模块代码及案例供大家学习与交流,希望以下知识可以带来一些帮助,如有任何疑问,请加群641792143交流与学习. 或关注微信公众号 程序员干货区
闻道有先后,术业有专攻,希望大家不吝赐教
环境
centos
apache
svn
安装模块
yum install -y httpd.x86_64 subversion mod_dav_svn.x86_64
查看 httpd.conf
# vim /etc/httpd/conf/httpd.conf
#确保有这行
Include conf.d/*.conf
增加 apache svn 配置文件
# vim /etc/httpd/conf.d/svn.conf
<Location /svn>
DAV svn
SVNParentPath /data/svn
AuthType Basic
AuthName "svn"
AuthUserFile /etc/httpd/conf.d/svn.passwd
AuthzSVNAccessFile /etc/httpd/conf.d/svn.authz
Require valid-user
</Location>
生成密码文件
cd /etc/httpd/conf.d/
# user是账号
# 运行命令会生成密码文件与user的密码在文件中
htpasswd -cm svn.passwd user
权限设置
vim /etc/httpd/conf.d/svn.authz
[groups]
admin = user
server = user
# admin 是svn仓库
[admin:/]
@admin = rw
创建仓库
cd /data/svn/
mkdir admin
svnadmin create admin/
mkdir server
svnadmin create server/
cd /data/svn/
chown -R apache.apache .
启动httpd
/etc/init.d/httpd start
访问(防火墙记得关或者开放端口)
http://你的ip/svn/admin
备份
svnadmin dump
#备份整个仓库
svnadmin dump –-deltas /data/svn/admin |bzip2 |tee dump.bz2 | md5sum >dump.md5
#增量备份仓库 --incremental
svnadmin dump /data/svn/admin -r $NUM1:$NUM2 --incremental > ${BACKUP_PATH}_$NUM1-$NUM2
svnadmin hotcopy
#完整备份
cd /data/svn/
svnadmin hotcopy admin
mv admin desc目的
线上用过的增加备份脚本
#!/bin/sh
SVN_PATH=/data/svn/admin/
TODAY=`date +%Y-%m-%d_%H-%M-%S`
DELETE_DAY=`/bin/date --date="1 day ago" +%Y-%m-%d_%H`
BACKUP_PATH=/data/backup/svn_$TODAY
NUM1=$(cat /data/backup/svn.version)
NUM2=$(svnlook youngest $SVN_PATH)
svnadmin dump $SVN_PATH -r $NUM1:$NUM2 --incremental > ${BACKUP_PATH}_$NUM1-$NUM2
if [ $? -eq 0 ];
then
echo $NUM2 > /data/backup/svn.version
else
echo "backup fail...."
fi
Tip
1. 不生成密码文件
htpasswd -nm user2
# 会直接输出密码,然后复制到 /etc/httpd/conf.d/svn.passwd 文件中
2. 出现 SVN on Apache failing (errcode=“13”) Could not open the request SVN filesystem
vim /etc/selinux/config
SELINUX=disabled
#需要重启
或者
setenforce 0
getenforce
#不需要重启