写个定时任务更新svn
最近学了点shell编程,寻思锻炼下写一个。平常你学习或者看别人讲,自己不练习肯定不行,基本上一动手准出错哈哈。等自己去实践,才会知道哪里有问题,哪里容易出错,哪里要注意什么的。
因为我们每个人有自己linux环境的开发机。每天早晨来工作,都要更新下svn的代码。这个步骤已经比较习惯了,也没想过什么。今天比较悠闲,又加上入门点shell,就寻思为啥不写个脚本给我跑呢,我还手动更新啥啊,shell脚本本身不就是用来给人方便处理的么,还能锻炼下定时任务的知识哈哈...由于都是学到皮毛,小实践也比较简单。
于是就写了个这个:
#crontab -uroot -e

脚本写到了/data/www/下
#vi /data/www/svn.update
#chmod 755 /data/www/svn.update

写这么个简单的东西,自己也是查了又调试了有一会哈哈。主要自己的shell编程经验知识少的可怜~
shell这块入门可以参考下这个文章:http://www.imooc.com/article/1788
定时任务这块,也参考了下这篇文章:http://www.cnblogs.com/peida/archive/2013/01/08/2850483.html
sed这块参考了这个文章:http://www.cnblogs.com/edwardlost/archive/2010/09/17/1829145.html
顺便推荐一下,awk学习可以参考下这个文章:http://coolshell.cn/articles/9070.html
配置邮件发送,可以参考这个文章:http://www.cnblogs.com/firstForEver/p/4943221.html
就说一下哪个地方需要注意啥的。
1. 每天6点,记得分钟位置的地方是0 ,而不是 * ;如果是*的话就是每一分钟都执行;
2. 开始本来想直接写到crontab文件里,但是定时任务环境不支持中文(发到邮件里是乱码),这才另外写到了shell脚本文件里;export LANG...
3. shell里把命令的返回结果取出来是利用反引号,比如这个`date`。这样才能把当前时间取出来。并且mail -s 后边这个邮件主题参数,当里边内嵌`date`这个执行后的结果时,这个参数需要使用双引号,单引号不会取出date的结果。
-------------
以下是原来写的。。
因为我要知道是不是更新过代码,所以把更新日志写到了每天开机就能看到的地方,就是欢迎信息的文件/etc/motd里。追加一个文件,利用重定向>>,记住追加是两个大于号,一个就是覆盖了,因为我的欢迎信息本身就有了21行的东西,我不想给覆盖掉。
这里我很可以始终显示一行最新的svn更新日志,但是我没想这么做。我希望积攒一个礼拜的再清除...原来没怎么用过sed处理过啥文件,但以前有次面试有人问过我,我就回头入门了一下awk和sed...但是这块 -i 参数这倒是郁闷了一会。。因为只有加了这个参数才是真正的改原文件,否则只是处理那个流。。
写个定时任务更新svn的更多相关文章
- 利用crontab定时提交svn遇到的几个问题
交待下背景...公司开发组只有技术经理有服务器和数据库权限,还只是开发环境的..因为工作安排和权限限制,测试同学上线的时候,需要本人帮开发组的部分同事review代码并把代码提交到trunk.一开始手 ...
- 用apscheduler写python定时脚本
apscheduler 官方文档:http://apscheduler.readthedocs.io/en/latest/ 写一个后台定时任务,一般2个选择,一个是apscheduler,一个cele ...
- 用python写一个定时提醒程序
身体是革命的本钱,身体健康了我们才有更多精力做自己想做的事情,追求女神,追求梦想.然而程序员是一个苦比的职业,大部分时间都对着电脑,我现在颈椎就不好了,有时候眼睛还疼,我还没20阿,伤心...于是乎写 ...
- 每隔10秒自动更新svn 定时更新svn 脚本
任务: */1 * * * * /opt/adobe/fms/webroot/api/svn.sh 这个命令的问题:只更新了版本号,没有更新实际内容,但是直接运行上面shell脚本能更新. 解决:需要 ...
- svn 服务器搭建
http://www.cnblogs.com/wrmfw/archive/2011/09/08/2170465.html 一,安装必须的软件包. $ apt-get install subversio ...
- linux下搭建SVN服务器完全手册【摘抄】
系统环境 RHEL5.4最小化安装(关iptables,关selinux) + ssh + yum 一,安装必须的软件包. yum install subversion ( ...
- SVN Server配置详解 及备份
SVN简介和工作原理 subversion(简称svn)是近几年崛起的版本管理软件,是cvs的接班人,目前绝大多数开源软件都使用svn作为代码版本管理软件.Subversion支持linux和wind ...
- (总结)CentOS Linux搭建SVN Server配置详解
PS:虽然在公司linux服务器上搭建过几次svn,但是时间长了,有些配置操作会忘掉,上网搜索的结果都不大满意,有幸在前几天看到一篇算是最满意的svn搭建文章,转载一下以备以后使用,原文地址 ...
- linux下搭建SVN服务器完全手册-很强大!!!!!
系统环境 RHEL5.4最小化安装(关iptables,关selinux) + ssh + yum 一,安装必须的软件包. yum install subversion ( ...
随机推荐
- Bootstrap+PHP实现多图上传
插件及源代码可以在这里下载 http://www.jq22.com/jquery-info5231下面是根据下载的demo进行补充:使用bootstrap界面美观,可预览,可拖拽上传,可配合ajax异 ...
- python常用模块-01
1. 简单了解模块 写的每一个py文件都是一个模块. 还有一些我们一直在使用的模块 buildins 内置模块. print, input random 主要是和随机相关的内容 random() ...
- ajax的type为get的时候报405错误,改成post就OK,这是为什么?老师写的get可以请求成功,我的就不行,附图
报错: 我是在慕课跟着老师敲的,老师那边get可以请求成功,但是我这个地方type只能是post才请求成功,get就报405,不理解是为什么?
- MariaDB MySQL变量取值避免四舍五入的方法
MySQL变量取值避免四舍五入的方法 By:授客 QQ:1033553122 在一些对数据精确度要求比较高的场景(比如资金结算)下,变量取值时不能对变量值进行四舍五入操作,这时候就要做些预处理工作. ...
- ESLint 使用方法
一.全局安装 npm install -g eslint 二.生成配置文件 在项目根目录执行init,生成.eslintrc文件.在init时,要求根目录存在package.json.当然也可以直接复 ...
- Bootstrap源码分析系列之整体架构
作为一名合格的前端工程师,你肯定听说过Bootstarp框架.确实可以说Bootstrap框架是最流行的前端框架之一.可是也有人说Bootstrap是给后端和前端小白用的,我认为只要学习它能给我们前端 ...
- LeetCode题解之Binary Tree Tilt
1.题目描述 2.分析 利用递归实现. 3.代码 int findTilt(TreeNode* root) { if (root == NULL) ; ; nodesTilt(root,ans); r ...
- MiUI开发者版刷入xposed框架--简洁方法
一,首先要确定手机是否解锁 可以去这里查看怎么解锁: http://www.miui.com/unlock/index.html 二,手机系统需要是开发者版,且在安全中心的授权管理打开了ROOT授权 ...
- SqlServer 一个查询语句导致tempdb增大55G(转载)
SqlServer 一个查询语句导致tempdb增大55G 今天操作着服务器,突然右下角提示“C盘空间不足”! 吓一跳!~ 看看C盘,还有7M!!!这么大的C盘空间怎么会没了呢?搞不好等下服务器会动不 ...
- 表的垂直拆分和水平拆分-zz
https://www.kancloud.cn/thinkphp/mysql-design-optimalize/39326 http://www.cnblogs.com/nixi8/tag/mysq ...