最近学了点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的更多相关文章

  1. 利用crontab定时提交svn遇到的几个问题

    交待下背景...公司开发组只有技术经理有服务器和数据库权限,还只是开发环境的..因为工作安排和权限限制,测试同学上线的时候,需要本人帮开发组的部分同事review代码并把代码提交到trunk.一开始手 ...

  2. 用apscheduler写python定时脚本

    apscheduler 官方文档:http://apscheduler.readthedocs.io/en/latest/ 写一个后台定时任务,一般2个选择,一个是apscheduler,一个cele ...

  3. 用python写一个定时提醒程序

    身体是革命的本钱,身体健康了我们才有更多精力做自己想做的事情,追求女神,追求梦想.然而程序员是一个苦比的职业,大部分时间都对着电脑,我现在颈椎就不好了,有时候眼睛还疼,我还没20阿,伤心...于是乎写 ...

  4. 每隔10秒自动更新svn 定时更新svn 脚本

    任务: */1 * * * * /opt/adobe/fms/webroot/api/svn.sh 这个命令的问题:只更新了版本号,没有更新实际内容,但是直接运行上面shell脚本能更新. 解决:需要 ...

  5. svn 服务器搭建

    http://www.cnblogs.com/wrmfw/archive/2011/09/08/2170465.html 一,安装必须的软件包. $ apt-get install subversio ...

  6. linux下搭建SVN服务器完全手册【摘抄】

    系统环境        RHEL5.4最小化安装(关iptables,关selinux) + ssh + yum 一,安装必须的软件包.        yum install subversion ( ...

  7. SVN Server配置详解 及备份

    SVN简介和工作原理 subversion(简称svn)是近几年崛起的版本管理软件,是cvs的接班人,目前绝大多数开源软件都使用svn作为代码版本管理软件.Subversion支持linux和wind ...

  8. (总结)CentOS Linux搭建SVN Server配置详解

         PS:虽然在公司linux服务器上搭建过几次svn,但是时间长了,有些配置操作会忘掉,上网搜索的结果都不大满意,有幸在前几天看到一篇算是最满意的svn搭建文章,转载一下以备以后使用,原文地址 ...

  9. linux下搭建SVN服务器完全手册-很强大!!!!!

    系统环境        RHEL5.4最小化安装(关iptables,关selinux) + ssh + yum 一,安装必须的软件包.        yum install subversion ( ...

随机推荐

  1. Bootstrap+PHP实现多图上传

    插件及源代码可以在这里下载 http://www.jq22.com/jquery-info5231下面是根据下载的demo进行补充:使用bootstrap界面美观,可预览,可拖拽上传,可配合ajax异 ...

  2. python常用模块-01

    1. 简单了解模块 写的每一个py文件都是一个模块. 还有一些我们一直在使用的模块 buildins 内置模块. print, input random 主要是和随机相关的内容 random()    ...

  3. ajax的type为get的时候报405错误,改成post就OK,这是为什么?老师写的get可以请求成功,我的就不行,附图

    报错: 我是在慕课跟着老师敲的,老师那边get可以请求成功,但是我这个地方type只能是post才请求成功,get就报405,不理解是为什么?

  4. MariaDB MySQL变量取值避免四舍五入的方法

    MySQL变量取值避免四舍五入的方法 By:授客 QQ:1033553122 在一些对数据精确度要求比较高的场景(比如资金结算)下,变量取值时不能对变量值进行四舍五入操作,这时候就要做些预处理工作. ...

  5. ESLint 使用方法

    一.全局安装 npm install -g eslint 二.生成配置文件 在项目根目录执行init,生成.eslintrc文件.在init时,要求根目录存在package.json.当然也可以直接复 ...

  6. Bootstrap源码分析系列之整体架构

    作为一名合格的前端工程师,你肯定听说过Bootstarp框架.确实可以说Bootstrap框架是最流行的前端框架之一.可是也有人说Bootstrap是给后端和前端小白用的,我认为只要学习它能给我们前端 ...

  7. LeetCode题解之Binary Tree Tilt

    1.题目描述 2.分析 利用递归实现. 3.代码 int findTilt(TreeNode* root) { if (root == NULL) ; ; nodesTilt(root,ans); r ...

  8. MiUI开发者版刷入xposed框架--简洁方法

    一,首先要确定手机是否解锁 可以去这里查看怎么解锁: http://www.miui.com/unlock/index.html 二,手机系统需要是开发者版,且在安全中心的授权管理打开了ROOT授权 ...

  9. SqlServer 一个查询语句导致tempdb增大55G(转载)

    SqlServer 一个查询语句导致tempdb增大55G 今天操作着服务器,突然右下角提示“C盘空间不足”! 吓一跳!~ 看看C盘,还有7M!!!这么大的C盘空间怎么会没了呢?搞不好等下服务器会动不 ...

  10. 表的垂直拆分和水平拆分-zz

    https://www.kancloud.cn/thinkphp/mysql-design-optimalize/39326 http://www.cnblogs.com/nixi8/tag/mysq ...