一、svn配置
1、make menuconfig
Network --> Version Control Systems --><*> subversion-server ...... subversion server
2、创建仓库
mkdir -vp /mnt/usb_file_svn/
svnadmin create --fs-type fsfs /mnt/usb_file_svn/
uci set subversion.@[0].path=/mnt/usb_file_svn/
uci commit
3、修改conf/svnserve.conf文件
vim /mnt/usb_file_svn/conf/svnserve.conf 取消下面的注释 注意:下面的选项前面都有"# ",一定要去掉"# ",前面不能留空格。配置完后,执行/etc/init.d/subversion start还不行,重启开发板
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
realm = My First Repository
4、修改conf/passwd文件
vim /mnt/usb_file_svn/conf/passwd
[users]
# harry = harryssecret
# sally = sallyssecret
hw = 123456
gw = 123456
5、修改conf/authz文件
vim /mnt/usb_file_svn/conf/authz
[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
hwgw = hw,gw
# [/foo/bar]
# harry = rw
# &joe = r
# * =
# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
[/]
hw = rw
6. 使svn支持提交日志的修改。(如果不需要修改提交日志,这一步可以跳过)
cp -av /mnt/usb_file_svn/hooks/pre-revprop-change.tmpl /mnt/usb_file_svn/hooks/pre-revprop-change
chmod a+x /mnt/usb_file_svn/hooks/pre-revprop-change
7. 终端执行:/etc/init.d/subversion start
可以先执行:/etc/init.d/subversion start,然后执行下面的命令,效果一样
svnserve -d -r /mnt/usb_file_svn
8、使用TortoiseSVN,
点击SVN Checkout...,
输入路径:svn://192.168.8.1/
注意IP后面就是一个斜杠就可以了,不要加usb_file_svn,因为上面authz这样设置:[/] hw = rw,/就是根目录,根目录就是usb_file_svn
不能设置成这样:[/] hwgw = rw ,就是不能使用组,不知道为什么!
严格按照上面那样弄就不会出现下面的错误:
root@OpenWrt:/mnt/usb_file_svn/conf# /etc/init.d/subversion restart
The subversion repository (/srv/svn) does not exist.
Create a new repository and/or change the path in /etc/config/subversion
Create a new subversion repository with:
mkdir -p /srv/svn
svnadmin create --fs-type fsfs /srv/svn
Changing the path using UCI (default path is: /var/local/svn):
uci set subversion.@[0].path=/srv/svn
uci commit
/etc/init.d/subversion restart
二、rsync配置
1、make menuconfig
Network --> File Transfer --><*> rsync ...... Fast remote file copy program (like rcp)
<*> rsyncd ...... Rsync daemon
2、vim /etc/rsyncd.config 注释掉原来的,在后面添加下面的内容
# *********************************************************
[rsync_server_backup]
comment = public archive
path = /home/hw/rsync_server_backup_file
use chroot = yes
# max connections=10
lock file = /var/lock/rsyncd
# the default for read only is yes...
read only = no
list = yes
uid = nobody
gid = nogroup
# exclude =
# exclude from =
# include =
# include from =
auth users = rsync_user
secrets file = /etc/rsyncd.secrets
strict modes = yes
# hosts allow =
# hosts deny =
ignore errors = no
ignore nonreadable = yes
transfer logging = no
# log format = %t: host %h (%a) %o %f (%l bytes). Total %b bytes.
timeout = 600
refuse options = checksum dry-run
dont compress = *.gz *.tgz *.zip *.z *.rpm *.deb *.iso *.bz2 *.tbz
#后面添加:其他和ubuntu完全一样。
pid file = /var/run/rsyncd.pid
log file = /var/log/rsyncd.log
# *********************************************************
3、在openwrt下创建下面文件夹和文件
mkdir -vp /home/hw/rsync_server_backup_file
mkdir -vp /var/lock/rsyncd
touch /var/run/rsyncd.pid
touch /var/log/rsyncd.log
echo 'rsync_user:123456' > /etc/rsyncd.secrets
#要修改权限,否则会有问题。
chmod 777 /home/hw/rsync_server_backup_file
chmod 600 /etc/rsyncd.secrets
4、 从服务器下载文件
错误:
receiving incremental file list
rsync: [Receiver] read error: Connection reset by peer (104)
rsync error: error in socket IO (code 10) at io.c(784) [Receiver=3.2.3]
vim /var/log/rsyncd.log看到后面有这样的一句话:
This rsync lacks old-style --compress due to its external zlib. Try -zz
解决:添加-zz这个参数
windows终端执行:rsync -vzrtopg -zz --progress rsync_user@192.168.8.1::rsync_server_backup ./
5、 上传文件到服务器
rsync: failed to set permissions on "/client_rsync/.client_rsync.txt.LECnHm" (in rsync_server_backup): No such file or directory (2)
错误:
解决:去掉topg等参数
windows终端执行:rsync -vzr -zz --progress ./ rsync_user@192.168.8.1::rsync_server_backup