zoukankan      html  css  js  c++  java
  • 写个定时任务更新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 参数这倒是郁闷了一会。。因为只有加了这个参数才是真正的改原文件,否则只是处理那个流。。

  • 相关阅读:
    Title
    Title
    Title
    Title
    Title
    Title
    Title
    get和post两种表单提交方式的区别
    计算机网络体系结构补充内容
    计算机网络体系结构作业题整理-第十章答案
  • 原文地址:https://www.cnblogs.com/firstForEver/p/4932839.html
Copyright © 2011-2022 走看看