最近学了点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. JS 相关记录(scrollTo,JSON)

    1. window.scrollTo window.scrollTo 有2种语法,比较常见的时候 window.scrollTo(x-coord,y-coord ),其中 x轴坐标与y坐标 第二种为 ...

  2. 【读书笔记】iOS-网络-应用间通信

    一,URL方案 URL方案有3个主要用途:根据设备上其他应用的存在与否调整逻辑,切换到其他应用以及响应打开你的应用的其他应用.你还可以通过URL方案从某个站点或是在基于Web的认证流程结束是打开应用. ...

  3. 腾讯Ocr文字识别

    简述 上篇文章记录了百度Ocr的两种模式用法,接下来这篇文章开始记录腾讯Ocr的使用方法.腾讯Ocr的通用印刷体识别模式使用比较简单,直接接入sdk即可,但手写体的识别相对比较麻烦,需要自己post表 ...

  4. Expo大作战(十四)--expo中消息推送的实现

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  5. 成为Java顶尖程序员,先过了下面问题!

    一.数据结构与算法基础 说一下几种常见的排序算法和分别的复杂度. 用Java写一个冒泡排序算法 描述一下链式存储结构. 如何遍历一棵二叉树? 倒排一个LinkedList. 用Java写一个递归遍历目 ...

  6. maven 学习笔记--仓库,聚合和继承,私服搭建

    仓库 http://blog.csdn.net/wanghantong/article/details/36427433 聚合和继承 http://www.cnblogs.com/xdp-gacl/p ...

  7. python2编码的问题

    1,python2的默认编码是ascii码. 2,python2中有2中数据模型来支持字符串这种数据类型,分别为str和unicode. 3,uncode转换为其他编码是encode,其他编码转换成u ...

  8. 在 Azure Resource Manager 中为虚拟机设置密钥保管库

    Note Azure 具有两种不同的部署模型,用于创建和处理资源:Resource Manager 模型和经典模型.本文介绍使用 Resource Manager 部署模型.Azure 建议对大多数新 ...

  9. pip 设置国内源

    最近使用 pip 安装包,动辄十几 k 甚至几 k 的下载速度,确实让人安装的时候心情十分不好.所以还是要给 pip 换一个国内的源.可以显著的提升安装速度.有更多的时间来研究算法. 下面,列一下收集 ...

  10. 【转】Java学习---内存溢出的排查经历

    [原文]https://www.toutiao.com/i6595365358301872643/ 前言 OutOfMemoryError 问题相信很多朋友都遇到过,相对于常见的业务异常(数组越界.空 ...