惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google DeepMind News
Google DeepMind News
爱范儿
爱范儿
J
Java Code Geeks
L
LangChain Blog
V
V2EX
大猫的无限游戏
大猫的无限游戏
S
SegmentFault 最新的问题
博客园 - Franky
Microsoft Azure Blog
Microsoft Azure Blog
Jina AI
Jina AI
Blog — PlanetScale
Blog — PlanetScale
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
The Cloudflare Blog
博客园 - 司徒正美
B
Blog
G
Google Developers Blog
Stack Overflow Blog
Stack Overflow Blog
罗磊的独立博客
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Apple Machine Learning Research
Apple Machine Learning Research
Engineering at Meta
Engineering at Meta
MyScale Blog
MyScale Blog
有赞技术团队
有赞技术团队
Hugging Face - Blog
Hugging Face - Blog

博客园 - bigwhiteshark(云飞扬)

PHP合成图片、生成文字、居中对齐、画线、矩形、三角形、多边形、图片抗锯齿、不失真 高性能源码示例 Html5 Canvas transform setTransform uv纹理坐标设定与贴图规则 容易答错的JS笔试题 JavaScript严谨模式(Strict Mode) property和attribute的区别 深入理解javascript 中的 delete(转) javascript中的call()和apply()方法的使用 Javascript 异步加载详解(转) Javascript框架的自定义事件(转) array2json() - Convert PHP arrays to JSON 一些Vim使用的小技巧 virtualbox centos安装增强工具和Centos与VirtualBox共享文件夹设置 yum搭建lnmp环境(CentOS6.4) CentOS中文man安装配置 在Linux里设置环境变量的方法(export PATH) 更新CentOS防火墙设置开启80端口访问 centos 6.4 server 安装nginx Centos安装vim
linux下svn定时更新项目
bigwhiteshark(云飞扬) · 2014-12-17 · via 博客园 - bigwhiteshark(云飞扬)

方法一、用shell脚本定时更新项目

1、进入网站的根目录,假设项目位置放在/var/www/test

cd /var/www/test

2、建立脚本文件update.sh,分两步进行.首先利用touch命令创建,之后使用vim进行编辑.

touch update.sh

vim update.sh

输入以下内容

#!/bin/sh

while true

do

svn update --username 你的svn用户名 --password 你的svn密码

sleep 60

done

这里我设置的是sleep 60,即每隔60秒更新一次,数值大小可随个人需求而定.不建议间隔时间太短.

在后台执行这段脚本

nohup ./update.sh

会产生一个nohup.out记录更新信息。或用

nohup ./update.sh > update.out

这种定时更新方法还不够,因为如果服务器重启的话就没了,我们可以把它写到启动项里边

vim /etc/rc.local

添加

nohup /var/www/shop/update.out > /var/www/shop/update.out

方法二、用linux计划任务,这种方式很简单。

crontab -e

或者vim /etc/crontab

或者vim /var/spool/cron/root

在新的一行中添加

*/1 * * * * username /usr/bin/svn update /var/www/shop --username dxk --password 123465--no-auth-cache > /var/www/shop/update.log

这里每隔1分钟更新一次,并把记录写到update.log中

重启服务

service crond restart

这里主要是使用的定时方式来更新svn项目,用于本地局域网服务器还是可以接受的,但是用于万维网服务器就有点得不偿失了。

另一种办法就是利用post-commit钩子的方法,在每一次用户提交的时候,服务器上自动同步完成更新动作,减小了服务器压力。

方法三、post-commit钩子

svn 项目中的 hooks 文件中的 post-commit(该文件夹下有 tmp文件 去除后缀即可)

post-commit

#!/bin/sh

export LANG=zh_CN.GBK #svn 编码是GBK

export LANG=en_US.UTF-8 #svn 编码是UTF-8

svn up --username=test --password=test --no-auth-cache --non-interactive /var/www/test

(橙色部分根据自己的信息填写)

设置过程中需要注意到的主要有两点:

1.svn的编码 

2.post-commit 权限 设置成 777