最近学了点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. layui的checkbox示例

    1.html页面: var isSkipcheckbox = ''; if (appOptions.isSkip != "0") { isSkipcheckbox = 'check ...

  2. 利用HTML5和echarts开发大数据展示及大屏炫酷统计系统

    想这样的页面统计及展示系统都是通过echarts来发开的及ajax数据处理,echarts主要是案例,在案例上修改即可,填充数据 echarts的demo案例如下: http://echarts.ba ...

  3. Win10家庭版、专业版、企业版、教育版各版本功能区别对照表

    关于Win10系统的版本问题,MS酋长之前曾经分享过Windows10有哪些版本,在这篇文章中简单地介绍了一下Win10各版本的功能区别及适宜用户群,但是并没有对各版本的功能区别做一详细的对比.日前微 ...

  4. Nginx服务器报 "Too Many Open Files"

    近日服务器上的运行的一个站点经常性出现500错误.查了下服务器负载,负载正常.而后查询了下nginx记录的站点运行错误日志,发现提示Too many open files.因为站点静态文件居多,而且h ...

  5. 获取本地机器的特征码IP MAC

    using System; using System.Collections.Generic; using System.Text; using System.Net; using System.Ma ...

  6. LINQ学习:Select的用法

    转载于:http://www.cnblogs.com/ForEvErNoME/archive/2012/07/25/2606659.html 说明:在查询表达式中,select 子句可以指定将在执行查 ...

  7. 转: ASP.NET MVC 多语言配置

    步骤1:打开VS2015新建测试项目. 步骤2:创建资源文件 App_GlobalResources下.    Resource1.resx    Resource1.zh-cn.resx   步骤3 ...

  8. Python socket应用

    Server端: #-*- coding: UTF-8 -*- import socket,time host='192.168.0.9' port=12307 s=socket.socket(soc ...

  9. Java中字符数组、String类、StringBuffer三者的相互转换

    一.StringBuffer与String的相互转换 1.将StringBuffer转换成String StringBuffer类成员toString函数可将其转换成String类型. StringB ...

  10. [Spark Core] Spark 使用第三方 Jar 包的方式

    0. 说明 Spark 下运行job,使用第三方 Jar 包的 3 种方式. 1. 方式一 将第三方 Jar 包分发到所有的 spark/jars 目录下 2. 方式二 将第三方 Jar 打散,和我们 ...