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

推荐订阅源

B
Blog RSS Feed
K
Kaspersky official blog
Forbes - Security
Forbes - Security
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
P
Proofpoint News Feed
G
GRAHAM CLULEY
V
Vulnerabilities – Threatpost
Security Latest
Security Latest
Scott Helme
Scott Helme
S
Securelist
美团技术团队
T
Threat Research - Cisco Blogs
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
S
SegmentFault 最新的问题
W
WeLiveSecurity
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Apple Machine Learning Research
Apple Machine Learning Research
The Cloudflare Blog
AI
AI
L
Lohrmann on Cybersecurity
S
Security Affairs
Cloudbric
Cloudbric
SecWiki News
SecWiki News
爱范儿
爱范儿
雷峰网
雷峰网
Engineering at Meta
Engineering at Meta
C
Cyber Attacks, Cyber Crime and Cyber Security
大猫的无限游戏
大猫的无限游戏
N
News and Events Feed by Topic
I
InfoQ
S
Secure Thoughts
AWS News Blog
AWS News Blog
A
About on SuperTechFans
Schneier on Security
Schneier on Security
酷 壳 – CoolShell
酷 壳 – CoolShell
The Last Watchdog
The Last Watchdog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
C
Check Point Blog
P
Palo Alto Networks Blog
博客园 - 【当耐特】
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Google DeepMind News
Google DeepMind News
Latest news
Latest news
I
Intezer
博客园_首页
C
CXSECURITY Database RSS Feed - CXSecurity.com
V
V2EX
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
L
LangChain Blog
D
Docker

博客园 - 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