服务器自动更新SVN

一、新建一个sh文件

/data/sh/update.sh

#!/bin/bash

cd /home/wwwroot/www.xxx.com

export LC_CTYPE=en_US.UTF-8

echo -e "\n"
echo [$(date "+%Y-%m-%d %H:%M:%S")]

svn up --username 你的用户名 --password 你的密码 --no-auth-cache --non-interactive /home/wwwroot/www.xxx.com

给update.sh文件赋予执行权限(重点是给www用户)

chmod 777 /data/sh/update.sh

二、创建crontab任务

执行命令:crontab -e -u www
新增如下任务:

*/1 * * * * /data/sh/update.sh >> /data/log/svn-update_$(date +\%Y\%m\%d).log 2>&1 &

*/1 * * * * (sleep 10; /data/sh/update.sh >> /data/log/svn-update_$(date +\%Y\%m\%d).log 2>&1 &)

*/1 * * * * (sleep 20; /data/sh/update.sh >> /data/log/svn-update_$(date +\%Y\%m\%d).log 2>&1 &)

*/1 * * * * (sleep 30; /data/sh/update.sh >> /data/log/svn-update_$(date +\%Y\%m\%d).log 2>&1 &)

*/1 * * * * (sleep 40; /data/sh/update.sh >> /data/log/svn-update_$(date +\%Y\%m\%d).log 2>&1 &)

*/1 * * * * (sleep 50; /data/sh/update.sh >> /data/log/svn-update_$(date +\%Y\%m\%d).log 2>&1 &)

这命令的意思是每隔10秒钟执行一次更新命令,具体的更新频率,可依照自己的需求来更改。
为确保命令成功执行,可重启一下crond服务

/sbin/service crond restart

Done !!

你可能感兴趣的:(服务器自动更新SVN)